Funções para Regex POSIX
PHP Manual

ereg_replace

(PHP 4, PHP 5)

ereg_replaceSubstituição com expressões regulares

Aviso

Esta função está OBSOLETA no PHP 5.3.0 e foi REMOVIDA no PHP 7.0.0.

Alternativas a esta função incluem:

Descrição

string ereg_replace ( string $pattern , string $replacement , string $string )

Essa função busca em string resultados para a pattern, substituindo se casar pelo texto replacement.

Parâmetros

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.

Valor Retornado

A string modificada é retornada. Se nenhuma substituição é feita na string, então retornará a string inalterada.

Exemplos

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);
?>

Veja Também


Funções para Regex POSIX
PHP Manual