Publicidade (Anuncie Aqui)

Problema com a função ereg(i) – PHP 5.3.0

Problema com a função ereg(i) – PHP 5.3.0

Quem atualizou o PHP para a versão 5.3.0 (lançada ontem) pode ter encontrado inúmeros erros de funções que foram depreciadas (ou deprecated).

Essas funções são usadas para testar a presença de uma expressão regular dentro de uma string.

Vim falar sobre a função ereg e eregi que são muito usadas (pelo menos por mim) e que precisam ser trocadas por uma versão em Pearl.

Antigamente faríamos assim:

<?php

$palavra = '(casa|carro)';
$frase = 'Eu fui pra casa ontem!';

if (ereg($palavra, $frase)) {
	echo "A palavra 'casa' ou 'carro' foi encontrada na frase";
} else {
	echo "A palavra 'casa' ou 'carro' não foi encontrada na frase";
}

?>

Agora, com o PHP 5.3.0 precisamos usar a função preg_match(), dessa forma:

<?php

$palavra = '/(casa|carro)/';
$frase = 'Eu fui pra casa ontem!';

if (preg_match($palavra, $frase)) {
	echo "A palavra 'casa' ou 'carro' foi encontrada na frase";
} else {
	echo "A palavra 'casa' ou 'carro' não foi encontrada na frase";
}

?>

Repare que entrou uma barra (pra direita) antes e depois da expressão regular.

eregi()

E pra quem usava o eregi, é só adicionar um “i” no final da expressão regular, dessa forma:

<?php

$palavra = '/(casa|carro)/i';
$frase = 'Eu fui pra CasA ontem!';

if (preg_match($palavra, $frase)) {
	echo "A palavra 'casa' ou 'carro' foi encontrada na frase";
} else {
	echo "A palavra 'casa' ou 'carro' não foi encontrada na frase";
}

?>

Espero que tenham gostado desse pequeno “atalho” :P

Você também vai gostar de ler:

Postado em PHP, Tutoriais

Com as tags , , , , , , ,

Escrito por Thiago Belem

Gostou desse artigo?

Não se esqueça de assinar o RSS e divulgue-o para o mundo:

  • Felipe Volpatto
    Cara, muito obrigado!
    Estava com esse problema e não sabia como resolve-lo, sua explicação me salvou aqui!
    Obrigado mesmo!

    Abração!
  • Livia
    Muito obrigado, me ajudou bastante.
  • DaviMM
    Massa... Eu vi que tinha dado pau no Eregi.. P
    Agora é correr o código atráz da função.. euheuhe
  • Nossa Salvou a minha vida

    Vlws mesmo
  • Daniel Ort
    Prezado Thiago:

    Parabéns pelo site. Estou inicando no PHP e seu trabalho já virou referência! Conteúdo objetivo e claro. A informação desta página resolveu uma "pendenga" das grandes para mim...

    valeu!
  • Ricardo
    Velho show, resolveu me problema
  • Valeu um código antigo não estava funcionando aqui, agora ok!!!
  • Leandro
    Thiago, vc é demais!!!! Eu procurei na net e pensei... acho no blog do Thiago naum tem nada desse problema naum, isso deve ser problema besta... mas naum, era coisa que eu naum achei em lugar nenhum e vc me ajudou!!! Muito obrigado, naum é de hoje que seus post me ajudam a trilhar em meu primeiro projeto. Valew!!!
blog comments powered by Disqus