ShowList Banner

Lista de Banner

  • Web - World Wide Web

    A World Wide Web (que em português significa, "Rede de alcance mundial", também conhecida como Web e WWW) é um sistema de documentos em hipermídia que são interligados e executados na Internet.

    http://www.naninho.blog.br/web.html

  • Saúde

    Saúde é um estado de completo bem-estar físico, mental e social, e não apenas a ausência de doenças (OMS - Organização Mundial da Saúde).

    http://www.naninho.blog.br/saude.html

  • Hemodiálise

    A hemodiálise é um tratamento que consite na remoção do líquido e substâncias tóxicas do sangue com um rim artificial.

    http://www.naninho.blog.br/saude/hemodialise.html

  • Transplantes

    Chama-se transplantação, ou simplesmente transplante, o ato de colher um órgão ou tecido, ou parte deles, de um indivíduo (doador) e implantá-lo(s) em outro indivíduo (receptor) (ou, no caso de tecidos, no próprio doador).

    http://www.naninho.blog.br/saude/transplantes.html

HomeWebPHPErro nas funções php obsoletas ereg e split
educação coletiva

Erro nas funções php obsoletas ereg e split

Erro nas funções php obsoletas ereg e split

 

Várias funções ficaram obsoletas (depreciadas) a partir do PHP 5.3+. Neste artigo vou dar uma dica de como substituir as funções ereg, eregi, split e spliti por funções em Perl e funcionar perfeitamente em suas aplicações PHP.

Perl é uma das linguagens preferidas por administradores de sistema e é especialmente versátil no processamento de cadeias (strings), manipulação de texto e no pattern matching implementado através de expressões regulares, além de ser bastante adequada para o desenvolvimento de projetos utilizando uma metodologia ágil. (Wikipedia, 2011).

Vamos começar pelas funções ereg e eregi. As duas verificam se a variável casa com a expressão regular definida, com diferença que a primeira é case sensitive, ou seja, faz distinção de letras maiúsculas e minúsculas, e a segunda não. Substituiremos ambas pela função preg_match.

Utilizando a função obsoleta ereg e eregi para validar um email:


<?php
    // A função obsoleta ereg
    if (ereg("^[a-z0-9_-]+[a-z0-9_.-]*@[a-z0-9_-]+[a-z0-9_.-]*\.[a-z]{2,5}$", $email))
        echo 'O email é válido!';
    else
        echo 'Email inválido!';

    // A função obsoleta eregi (case sensitive)
    if (eregi("^[a-z0-9_-]+[a-z0-9_.-]*@[a-z0-9_-]+[a-z0-9_.-]*\.[a-z]{2,5}$", $email))
        echo 'O email é válido!';
    else
        echo 'Email inválido!';
?>


	

Para o PHP 5.3+ utilizamos a função preg_match. Repare que é preciso colocar uma barra no início e no fim da expressão regular. No caso do eregi deve-se colocar a letra "i" logo após a última barra na expressão regular:


<?php
    // Substituindo a função ereg (case sensitive)
    if (preg_match("/^[a-z0-9_-]+[a-z0-9_.-]*@[a-z0-9_-]+[a-z0-9_.-]*\.[a-z]{2,5}$/", $email))
        echo 'O email é válido!';
    else
        echo 'Email inválido!';

    // Substituindo a função eregi
    if (preg_match("/^[a-z0-9_-]+[a-z0-9_.-]*@[a-z0-9_-]+[a-z0-9_.-]*\.[a-z]{2,5}$/i", $email))
        echo 'O email é válido!';
    else
        echo 'Email inválido!';
?>


	

Agora as funções split e spliti. As duas separam strings em array utilizando expressões regulares, com diferença que a primeira é case sensitive, ou seja, faz distinção de letras maiúsculas e minúsculas, e a segunda não. Substituiremos ambas pela função preg_split.

Utilizando a função obsoleta split e spliti para separar uma string usando a letra "a" como separador:


<?php
        // A função obsoleta split
        $string = "aBBBaCCCADDDaEEEaGGGA";
        $chunks = split("a", $string, 5);
        print_r($chunks);
        
        // A função obsoleta spliti
        $string = "aBBBaCCCADDDaEEEaGGGA";
        $chunks = spliti("a", $string, 5);
        print_r($chunks);
?>


	

Para o PHP 5.3+ utilizamos a função preg_split:


<?php
        // Substituindo a função split (case sensitive)
        $string = "aBBBaCCCADDDaEEEaGGGA";
        $chunks = preg_split("/a/", $string, 5);
        print_r($chunks);
        
        // Substituindo a função spliti
        $string = "aBBBaCCCADDDaEEEaGGGA";
        $chunks = preg_split("/a/i", $string, 5);
        print_r($chunks);
?>


	

Ponto, problema resolvido. Espero que o artigo seja útil.

 

Referências

PHP .net: http://php.net/
Perl Brasil: http://www.perl.org.br/Main/WebHome
Wikipedia: http://pt.wikipedia.org/wiki/Perl

Tags:

Última atualização em Sáb, 25 de Fevereiro de 2012 15:08

 

Comentários  

gravatar
+1 #3 buscajorge luiz 03-01-2017 11:35
muito bom
Citar
gravatar
+1 #2 Vlw!lucio 19-09-2014 03:37
ajudou bastante!
obrigado :lol:
Citar
gravatar
+1 #1 ObrigadãoooooooFélix 02-03-2012 19:30
valeu amigo, foimuito útil esse informação..abração
Citar

Adicionar comentário


Código de segurança
Atualizar

Google