anterior | início | próxima

PHP

característica  como fazer
------------------------------------------------
busca           função ereg
substituição    função ereg_replace
divisão         função split
ER crua         'entre aspas simples'
ignore M/m      funções eregi, eregi_replace
global          é o padrão

Safo em Internet e banco de dados, o PHP é a escolha de uma legião de programadores ao redor do mundo para comércio eletrônico e transações de dados. E claro, como não poderia deixar de ser, também tem suporte às ERs.

As funções quentes são ereg para busca, ereg_replace para substituição e o split para divisão. Sua sintaxe é bem tranqüila, sem esquisitices e bem coberta pela própria documentação que acompanha a linguagem.

Um detalhe muito interessante é que ao casar um padrão, você pode opcionalmente colocar os conteúdos dos grupos em posições de uma matriz ("array"), numerada de acordo com o número dos grupos abertos. É uma maneira fácil de declarar diversas variáveis de uma vez.

$hora = "12:34";
$er = "([0-9]{2}):([0-9]{2})";

if (ereg($er, $hora, $matriz)){
  echo "em brasília $matriz[1] horas, ";
  echo "$matriz[2] minutos.\n";
}

O jeito PHP de ignorar a diferença entre maiúsculas e minúsculas é, no mínimo, diferente. É feito no próprio nome da função, adicionando um i, ficando eregi, eregi_replace e spliti(php4). A maneira de utilizá-las é a mesma. No exemplo seguinte, todas as letras do padrão HeyHo são trocadas por .

print eregi_replace("[A-Z]", ".", "HeyHo");

Para se especificar uma ER crua, basta colocá-la entre 'aspas simples'.

E olha só que interessante, o PHP tem funções específicas para usuários de Perl, que aceitam uma sintaxe bem próxima à utilizada nessa linguagem. Para quem tiver curiosidade sobre esse frankenstein, confira as funções preg_match, preg_match_all, preg_replace e preg_split.

A página oficial e fonte inicial de pesquisa sobre a linguagem é:

Está gostando da leitura?
Está aprendendo?
Compre o livro novo que traz mais conteúdo, texto atualizado e ilustrações!
anterior | início | próxima