Non ho testato questo pattern ma dando per buono che funziona, mi sembra che si sfori nel "complicato oltre il necessario". Credo che quello che piu' spaventi la gente delle regular expression (e cio' che crea piu' problemi nel debug) e' cercare di risolvere un problema con una singola regular expression. Da nessuna parte e' scritto che non si possa scomporre il problema in parti (spesso molto) piu' semplici ed usare pattern molto piu' immediati da scrivere e comprensibili da leggere.Originariamente inviato da bubi1
gia', non ci avevo pensato![]()
vabbe', basta fare
if(preg_match('/<img[^>]*?src="([^>]*?)"[^>]*?id="orderimg"[^>]*?\/>/si',$stringa,$m)){
echo $m[1];
}
Spesso la scomposizione garantisce anche maggior flessibilita': in questo caso ad esempio, il pattern unico che suggerisci fallisce se per caso vengono invertiti gli attributi id e src, con il mio approccio invece anche invertendoli si ottiene lo stesso il risultato voluto.

Rispondi quotando