Manual do PHP
Anterior |  | Próxima

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

Anterior | Principal | Próxima
Regex : Expressões Regulares (compatíveis com o padrão POSIX) | Acima | ereg