ereg_replace

(PHP 3, 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:

Exemplo 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:

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

Exemplo 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().