[ wwwucko @ 09.09.2005. 13:17 ] @
<?php
$str = "This is a true
story about recursion bug
in php 4.3... PHP 5 solve this
but it works to slow";

$regStr = "/This.*?(\s.*)*?works/";

preg_match_all($regStr, $str, $matches);

print_r($matches);

?>

rezultat:
Array ( [0] => This is a true story about recursion bug in php 4.3... PHP 5 solve this but it works [1] => but it )

Ovaj skript radi ok ako je $str mali tekst ili ako se $regStr pojavljuje jednom u $str. Znam da je ovo bug (puca rekurzija)
ali me interesuje da li mozda moze da se gornji regularni izraz
optimizuje?

Hvala unapred,
Igor
[ noviKorisnik @ 09.09.2005. 13:29 ] @
A šta treba da radi gornji izraz? Mene glupog, ali zaista ne razumem šta treba da radi.
[ wwwucko @ 09.09.2005. 13:32 ] @
Treba da vrati

This is a true
story about recursion bug
in php 4.3... PHP 5 solve this
but it works
to slow

[Ovu poruku je menjao wwwucko dana 09.09.2005. u 14:32 GMT+1]
[ noviKorisnik @ 09.09.2005. 13:52 ] @
hm...
Code:
echo '<pre>';
print_r ($matches);
echo '</pre>';

rezultat
Code:
Array
(
    [0] => Array
        (
            [0] => This is a true
story about recursion bug
in php 4.3... PHP 5 solve this
but it works
        )

    [1] => Array
        (
            [0] => 
but it 
        )

)

OK, radi šta mu se kaže, da li nešto ne valja u izlazu.
[ wwwucko @ 09.09.2005. 13:55 ] @
Ma on sada radi ali ako je string koji se pretrazuje veci onda pukne PHP!!!!
[ noviKorisnik @ 09.09.2005. 14:06 ] @
uh, sorry... Izraz mi deluje malo prekomplikovan, previše zvezdica i upitnika. Digni memory limit pa ga možda i istera :-) Ne igram se regexpima baš svaki dan, ali probaću da izdumam nešto jednostavnije... javljam se za po sata.
[ noviKorisnik @ 09.09.2005. 14:14 ] @
Ovo daje drugačiji izlaz, ali možda ti bude odgovaralo...
Code:
$regStr = "/This(.|\n)*works/";
[ wwwucko @ 09.09.2005. 14:18 ] @
TO LAVE!!!!

Imas jelen kad sidjemo )

Puno, puno hvala!!
[ noviKorisnik @ 09.09.2005. 14:30 ] @
bolje LAV