Mailinglisten-Archive |
Hallo zusammen, ich bastele da seit einiger Zeit an der Verwndung eines regulären Ausdrucks unter PHP4 (Windows) herum und komme an einem Punkt einfach nicht weiter. Vermutlich ist es so trivial dass alle lachen - aber ich habe weder im Manual noch sonst wo im Web irgendetwas dazu gefunden. Wenn ich einen String $s wie "abcd a4534d abcdd" habe und darin alle Vorkommen von "a([^ ])d" finden möchte, mache ich das mit eregi("a([^ ]*)d", $s, $matching); Das klappt auch in sofern, dass ich in $matching[0] den kompletten, passenden String finde und in $matching[1] den Inhalt der ersten Klammer. Da ich mit potentiell n-maligem Auftreten der Klammer rechne, kann ich z.B. nicht nach "a([^ ])d a([^ ])d a([^ ])d a([^ ])d" suchen. Kann mir jemand veraten, wie ich das hinbekomme, dass ich eine Scheife solange durchlaufe, bis kein passendes Element mehr gefunden wird und solange jeweils das nächste passende Element geliefert bekomme? Ein mehrmaliges Aufrufen von eregi liefert einfach jeweils wieder das erste Auftreten im String $s und nicht das jeweils nächste. Habe ich einen grundsätzlichen Denkfehler drin? Ich vermute fast ... Vielen Dank für eure Hilfe! Micha
php::bar PHP Wiki - Listenarchive