Sie sind auf Seite 1von 8

ereg_replace

(PHP 4, PHP 5)

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

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
ereg_replace()
<?php
$string = "Esse e um teste";
echo str_replace(" e", " foi", $s
tring);
echo ereg_replace("( )e", "\\1foi
", $string);
echo ereg_replace("(( )e)", "\\2f
oi", $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 da
ereg_replace()
<?php
/* Esse exemplo não funcionará. *
/
$num = 5;
$string = "Essa frase tem cinco p
alavras.";
$string = ereg_replace('cinco', $
num, $string);
echo $string; /* Resultado: 'Es
sa frase tem palavras.' */

/* Esse exemplo funcionará. */


$num = '5';
$string = "Essa frase tem cinco p
alavras.";
$string = ereg_replace('cinco', $
num, $string);
echo $string; /* Resultado: 'Es
sa frase tem 5 palavras.' */
?>
Exemplo #3 Substitui URLs por
links
<?php
$text = ereg_replace("[[:alpha:]]
+://[^<>[:space:]]+[[:alnum:]/]",
"<a href=\"\
\0\">\\0</a>", $text);
?>

Notas

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

ereg

(PHP 4, PHP 5)
ereg — Casando expressões regulares

Descrição

int ereg ( string $pattern , string $string [, array &$regs ] )

Verifica se a variavel casa com a expressão regular definida em expressao em


um modo sensível a distinção de caracteres (case sensitive).

Parâmetros

pattern

A expressão regular case sensitive.

string

A string de entrada.

regs

Se existirem parênteses de substrings no


pattern e for passado o terceiro parâmetro
regs para a função, a execução guardará os
elementos resultantes na matriz regs .

$registros[1] irá conter a substring indicada


pelo primeiro parenteses da esquerda;
$registros[2] contém a segunda substring, e
assim por diante. $registros[0] conterá uma
cópia completa da variável casada.

Valor Retornado

Retorna o tamanho da string encontrada


se uma combinação de pattern foi
encontrado em string , ou FALSE se
nenhuma combinação foi feita ou um
erro que tenha ocorrido.

Se o parâmetro opcional regs não foi


passado ou o tamanho da string casada
é 0, esta função retorna 1.

Exemplos

Exemplo #1 Exemplo da ereg()


O exemplo seguinte pega uma data no
padrão ISO (YYYY-MM-DD) e imprime
na no formato DD.MM.YYYY:
<?php
if (ereg ("([0-9]{4})-([0-9]
{1,2})-([0-9]{1,2})", $data, $reg
istros)) {
echo "$registros[3].
$registros[2].$registros[1]";
} else {
echo "Formato de data inválid
o: $data";
}
?>

Notas

Nota: preg_match(), que usa a sintaxe


de expressão regular compatível com
Perl, é normalmente uma rápida
alternativa para ereg().

Nota: Nas versões superiores ao PHP


4.1.0 (inclusive) se você colocar
exatamente dez elementos em
$registros, ou até mesmo mais
elementos, a expressão será executada.
A quantidade não causará efeitos na
função ereg() que tem habilidade de
suportar muitas substrings. Se a
expressão não casar, $registros não
será alterada por ereg().

eregi_replace

(PHP 4, PHP 5)

eregi_replace — Substituição utilizando expressões regulares insensíveis a


maiúsculas e minúsculas

Descrição

string eregi_replace ( string $expressao , string $substituicao , string


$variavel )

Essa função é idêntica a ereg_replace() com exceção de não fazer distinções


alfabéticas entre caracteres (case insensitive) na hora de casar resultados.

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


nenhum combinação foi feita em string
, então retornará a string inalterada.

Exemplos

Exemplo #1 Destacando
resultados de uma busca
<?php
$pattern = '(>[^<]*)('. quotemet
a($_GET['search']) .')';
$replacement = '\\1<span class="s
earch">\\2</span>';
$body = eregi_replace($pattern, $
replacement, $body);
eregi

(PHP 4, PHP 5)

eregi — Casando expressões regulares insensíveis a maiúsculas e minúsculas

Descrição

int eregi ( string $pattern , string $string [, array &$regs ] )

Essa função é idêntica a função ereg() com exceção de não fazer distinções
alfabéticas entre caracteres (case insensitive) na hora de casar resultados.

Parâmetros

pattern

A expressão regular case insensitive.

string

A string de entrada.

regs

Se existirem parênteses de substrings no


pattern e for passado o terceiro parâmetro
regs para a função, a execução guardará os
elementos resultantes na matriz regs .
$registros[1] irá conter a substring indicada
pelo primeiro parenteses da esquerda;
$registros[2] contém a segunda substring, e
assim por diante. $registros[0] conterá uma
cópia completa da variável casada.

Valor Retornado

Retorna o tamanho da string combinada


se uma combinação para pattern foi
encontrado na string , ou FALSE se
nenhuma combinação é feita ou um erro
tenha ocorrido.

Se o parâmetro opcional regs não foi


passado ou o tamanho da string casada
é 0, esta função retorna 1.

Exemplos

Exemplo #1 Exemplo da eregi()


<?php
$string = 'XYZ';
if (eregi('z', $string)) {
echo "A '$variavel' contém a
letra 'z' ou 'Z'!";
}
?>
split

(PHP 4, PHP 5)

split — Separa strings em array utilizando expressões regulares

Descrição

array split ( string $expressao , string $variavel [, int $limite ] )

Separa uma string em array por expressão regular.

Parâmetros

pattern

A expressão regular case sensitive.

Se separar caracteres que são consideredos


especiais para as expressões regulares, será
necessário usar o caracter de escape
primeiramente. Se você pensar que split() (ou
outra função para execução de expressões
regulares) é muito estranha, por favor leia o
arquivo regex.7, incluido na pasta regex/ no
subdiretório da distribuição do PHP. Está no
formato manpage e você deverá usar o
comando man
/usr/local/src/regex/regex.7 para maiores
informações.

string

A string de entrada.

limit

Se limit é definido, o array retornado conterá


no máximo de limit elementos, sendo que o
último elemento conterá o resto da string .

spliti

(PHP 4 >= 4.0.1, PHP 5)

spliti — Separa strings em array utilizando expressões regulares insensíveis a


maiúsculas e minúsculas

Descrição

array spliti ( string $pattern , string $string [, int $limit ] )

Separa uma string em array por expressão regular.

Esta função é idêntica a split() exceto que esta ignora distinção de caracteres
alfabéticos maiúsculos e minúsculos.

Parâmetros

pattern

Expressão regular case insensitive.

Se separar caracteres que são consideredos


especiais para as expressões regulares, será
necessário usar o caracter de escape
primeiramente. Se você pensar que split() (ou
outra função para execução de expressões
regulares) é muito estranha, por favor leia o
arquivo regex.7, incluido na pasta regex/ no
subdiretório da distribuição do PHP. Está no
formato manpage e você deverá usar o
comando man
/usr/local/src/regex/regex.7 para maiores
informações.

string

A string de entrada.
limit

Se limit é definido, o array retornado conterá


no máximo limit elementos com o último
elemento contendo todo resto da string .

sql_regcase

(PHP 4, PHP 5)

sql_regcase — Cria expressões regulares insensíveis a maiúsculas e minúsculas.

Descrição

string sql_regcase ( string $string )

Cria uma expressão regular para uma combinação case insensitive.

Parâmetros

string

A string de entrada.

Valor Retornado

Retorna uma expressão regular válida para casar


com string , ignorando a diferença entre
maiúsculas e minúsculas. A expressão será
string com os caracteres convertidos a uma
expressão de colchetes; essa expressão terá os
caracteres escritos em maiúsculas e minúsculas
quando puder ser aplicado, em outros casos
conterá os caracteres sem modificação.

Exemplos

Exemplo #1 Exemplo da sql_regcase()


<?php
echo sql_regcase ("Foo - bar.");
?>
O exemplo acima irá imprimir:
[Ff][Oo][Oo] - [Bb][Aa][Rr].

Você pode utilizar esse recurso quando quando


existir somente suporte a expressões regulares
sensíveis a maiúsculas e minúsculas

Das könnte Ihnen auch gefallen