(PHP 4, PHP 5)
ereg — Casando expressões regulares
$pattern
, string $string
[, array &$regs
] )
Verifica se a variavel
casa com a expressão
regular definida em expressao
em um modo
sensível a distinção de caracteres (case sensitive).
pattern
A expressão regular case sensitive.
string
A string de entrada.
regs
Se existirem parênteses de substrings no pattern
e for passado o terceiro parâmetro regs
para a
função, a execução guardará os elementos resultantes na matriz
regs
.
$registros[1] irá conter a substring indicada pelo primeiro parenteses da esquerda; $registros[2] contém a segunda substring, e assim por diante. $registros[0] conterá uma cópia completa da variável casada.
Retorna o tamanho da string encontrada se uma combinação de
pattern
foi encontrado em string
,
ou FALSE
se nenhuma combinação foi feita ou um erro que tenha ocorrido.
Se o parâmetro opcional regs
não foi passado ou
o tamanho da string casada é 0, esta função retorna 1.
Exemplo #1 Exemplo da ereg()
O exemplo seguinte pega uma data no padrão ISO (YYYY-MM-DD) e imprime na no formato DD.MM.YYYY:
<?php
if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $data, $registros)) {
echo "$registros[3].$registros[2].$registros[1]";
} else {
echo "Formato de data inválido: $data";
}
?>
Nota:
preg_match(), que usa a sintaxe de expressão regular compatível com Perl, é normalmente uma rápida alternativa para ereg().
Nota: Nas versões superiores ao PHP 4.1.0 (inclusive) se você colocar exatamente dez elementos em $registros, ou até mesmo mais elementos, a expressão será executada. A quantidade não causará efeitos na função ereg() que tem habilidade de suportar muitas substrings. Se a expressão não casar, $registros não será alterada por ereg().