[MASOCH-L] funçao php53 ereg x preg_match

Danton Nunes danton.nunes at inexo.com.br
Thu Sep 15 12:14:34 BRT 2016


On Thu, 15 Sep 2016, Rejaine Monteiro wrote:

> ola pessoal,
>
> por acaso alguém aí que programa em php  e tem algum script ou algum 
> "comandinho mágico" para alterar automaticamente as funções ereg eregi e 
> ereg_replace que foram substituidas no php53 para preg_match e preg_replace?

esse pessoal que mantém o php faz cada besteira que dá dó. não entendo por 
que diabos removeram as funções com experssões regulares POSIX.

não adiante só trocar ereg por preg, pois a sintaxe e semântica das 
respectivas exrpessões regulares são diferentes.

> Sei que fazer diretamente no código é até simples de fazer, mas a questão é 
> que tenho uma aplicação bem antiga aqui (a qual não temos mais suporte, pois 
> já foi até descontinuada) com centenas de linhas e vários arquivos para 
> alterar...

se fosse só trocar 'e' por 'p', o sed poderia ser usado para fazer a troca 
no atacado, mas o problema são as próprias expressões regulares, POSIX nas 
funções antigas e Perl nas novas.

o problema não é só teu. veja: 
http://stackoverflow.com/questions/6270004/how-can-i-convert-ereg-expressions-to-preg-in-php

> tentei vários comandos com sed q encontrei na net mas nada parece 
> ter funcionado. se não conseguir alterar automaticamente, creio q o trabalho 
> de alterar manualmente pode não compensar e vou acabar partindo para um 
> downgrade.

eu partiria para o downgrade. e colocaria de castigo qualquer um que 
viesse com a ideia de fazer qualquer coisa em php daqui para a frente.

uma alternativa que me ocorreu é escrever uma extensão de retro- 
compatibilidade que reimplemente as funções removidas estupidamente pelos 
mantenedores da linguagem. O caminho das pedras começa por aqui:
http://php.net/manual/en/internals2.structure.php



More information about the masoch-l mailing list