phpbar.de logo

Mailinglisten-Archive

[php] Verwendung von ereg ...

[php] Verwendung von ereg ...

Misha misha3 at gmx.de
Mon Dez 1 14:37:07 CET 2003


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