EREGI a PREG_MATCH v PHP

Petr Tomasek tomasek na etf.cuni.cz
Sobota Říjen 18 12:08:49 CEST 2014


On Sat, Oct 18, 2014 at 11:18:42AM +0200, Alexandra Svobodová wrote:
> 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ě.

Co na tom presne nefunguje?

Mne tohle napr. funguje:

<?php

 if (preg_match("/(.+):([0-9]+)/i", "ble:123", $x))
 {
   print_r($x);
 }
 {
   echo "NO";
 }

?>

Proc pouzivate volbu "i", kdyz neni potreba?

P.T.

> 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á
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list at list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
> 

-- 
Petr Tomasek <http://www.etf.cuni.cz/~tomasek>
Jabber: butrus at jabbim.cz




Další informace o konferenci Hw-list