EREGI a PREG_MATCH v PHP

Alexandra Svobodová hwnews na zirafoviny.cz
Sobota Říjen 18 11:18:42 CEST 2014


Dobré dopoledne,

     snažím se rozchodit jeden zapeklitý PHP skript, který do nedávna 
fungoval, ale po změně na serveru fungovat přestal.

     Problém je ve funkci EREGI a tím, jak ji nahradit. Prošla jsem 
několik fór a zkusila různé delimitery, ale stejně to nechce fungovat.

     Řekla bych, že :

if(eregi('^(.+):([0-9]+)$', $hosts[$index], $hostinfo)) {

     by po novu mělo být

if(preg_match('/^(.+):([0-9]+)$/i', $hosts[$index], $hostinfo)) {

     Ale stejně to nefunguje, takže to bude špatně.

Celý blok je takto:

if(eregi('^(.+):([0-9]+)$', $hosts[$index], $hostinfo)) {
         $host = $hostinfo[1];
         $port = $hostinfo[2];
       } else {
         $host = $hosts[$index];
         $port = $this->Port;
       }

     Je to kus XOOPS 
(XOOPS_ROOT/class/mail/phpmailer/class.phpmailer.php), kterému poslední 
dobou rozumím méně a méně. Dělají to, podle mého názoru, příšerně 
složitě a možná až zbytečně. Každý soubor odkazuje na další soubory a 
vkládají se do něj jiné soubory... tento styl určitě bude nějaké výhody 
mít, ale já je nepobírám a protože se řadím mezi pojídače koláčů, tak se 
o to již ani nesnažím.

     Napadá někoho, jak tuto funkci zprovoznit?

     Děkuji předem,

     Saša Svobodová


Další informace o konferenci Hw-list