(PHP 4, PHP 5)
ereg_replace — Substituição com expressões regulares
Esta função está OBSOLETA no PHP 5.3.0 e foi REMOVIDA no PHP 7.0.0.
Alternativas a esta função incluem:
$pattern
, string $replacement
, string $string
)
Essa função busca em string
resultados para a
pattern
, substituindo se casar pelo texto
replacement
.
pattern
A extendida expressão regular POSIX.
replacement
Se o pattern
contém parênteses de substrings,
a replacement
será realizada através do formato
\\digit, que indicará qual
parte do texto substituido deverá ser retornado;
\\0 retornará a string toda. Até nove substrings podem
ser usadas. Os parênteses podem ser aninhados, sendo que a contagem
será feita através da quantidade de parênteses abertos.
string
A string de entrada.
A string modificada é retornada. Se nenhuma substituição é feita na
string
, então retornará a string inalterada.
Por exemplo, o pedaço de código seguinte imprimirá "Esse foi um teste" três vezes:
Exemplo #1 Exemplo da função ereg_replace()
<?php
$string = "Esse e um teste";
echo str_replace(" e", " foi", $string);
echo ereg_replace("( )e", "\\1foi", $string);
echo ereg_replace("(( )e)", "\\2foi", $string);
?>
Preste atenção se usar uma variável integer no parâmetro
replacement
, pois o resultado pode
não ser exatamente o esperado. Isso acontece porque a função
ereg_replace() interpreta o valor
ordinal do número. Por exemplo:
Exemplo #2 Exemplo da função ereg_replace()
<?php
/* Esse exemplo não funcionará. */
$num = 5;
$string = "Essa frase tem cinco palavras.";
$string = ereg_replace('cinco', $num, $string);
echo $string; /* Resultado: 'Essa frase tem palavras.' */
/* Esse exemplo funcionará. */
$num = '5';
$string = "Essa frase tem cinco palavras.";
$string = ereg_replace('cinco', $num, $string);
echo $string; /* Resultado: 'Essa frase tem 5 palavras.' */
?>
Exemplo #3 Substitui URLs por links
<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
'<a href="\\0">\\0</a>', $text);
?>