PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : New Line's mit preg_...


cascade
18.06.2004, 21:34:52
Ich hab es endlich geschafft, mir über reg. Ausdrücke einen Überblick zu verschaffen. In der folgenden Zeile wird die URL aller Bilder herausgefiltert:
print_r(preg_replace_callback("|(<img.*ssrc=")(.*?)(".*>)|",...

Wie bekomm ich hin, dass er auch ein img findet, dass über mehrere Zeilen geht, z.B.:
<img border="0"
src="a/b.gif" title="Bild">

bazubi
18.06.2004, 22:35:44
Du musst einen Modifier in den RegEx einbauen. Ich glaube damit der Punkt auch Zeilenumbrüche berückschtigt war es s


print_r(preg_replace_callback("|(<img.*ssrc=")(.*?)(".*>)|s",...

cascade
19.06.2004, 11:12:51
OK, das wäre geklärt. Ich habe bei der Gelegenheit gleich noch das i angehängt:
print_r(preg_replace_callback("|(<img.*ssrc=")(.*?)(".*>)|is",...

Einen Macken hat der Ausdruck noch: Die Callbackfunktion wird nur ein einziges Mal aufgerufen, selbst wenn mehrere Bilder im input-String sind. Wie bekomm ich hin, dass er das für jedes img macht und nicht nur für das Letzte?

cascade
19.06.2004, 13:30:02
Hat sich geklärt! (Hinter alle "*" noch ein "?")

feuervogel
19.06.2004, 15:14:30
wieso denn zwei quantoren hintereinander?

Progman
19.06.2004, 19:32:29
für Ungreedy. Modifier U geht dabei aber auch.