Forum und email

ereg_replace

(PHP 4, PHP 5)

ereg_replace — Substituição através de expressões regulares

Descrição

string ereg_replace ( string $expressao , string $substituicao , string $variavel )

Essa função busca em variavel resultados para a expressao , substituindo se casar pelo texto em substituicao .

A variavel modificada será retornada (poderá ocorrer da string original ser retornada caso não aconteça nenhuma substituição .)

Se a expressao conter parênteses de substrings, a substituicao será realizada através do formato \\digit, que indicará qual parte do texto substituido deverá ser retornada; \\0 retornará a string na integra. Até nove substrings podem ser usadas. Os parenteses podem ser aninhados, sendo que a contagem será feita através da quantidade de paranteses abertos.

Se não tiverem valores que casem com o parâmetro variavel , o resultado será a variavel inalterada.

Por exemplo, o pedaço de código seguinte imprimirá "Esse foi um teste" três vezes:

Example#1 Exemplo ereg_replace()

<?php
$string 
"Esse e um teste";
echo 
ereg_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 substituicao , 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:

Example#2 Exemplo 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.' */
?>

Example#3 Substitui URLs por links

<?php
$text 
ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
                     
"<a href=\"\\0\">\\0</a>"$text);
?>

Dica

preg_replace(), você pode também utilizar as expressões regulares compátiveis com perl, frequentemente uma alternativar veloz a função ereg_replace().

Veja mais em ereg(), eregi(), eregi_replace(), str_replace() e preg_match().