Mailinglisten-Archive |
Am 11.04.02 10:31:08, schrieb "Till" <phpcenter.de_(at)_klimpong.com>:
>Hi Michael!
>>> $pattern = '=^(.*)<a(.*)href\="?(\S+)"([^>]*)>(.*)</a>(.*)$=msi';
>>> while (preg_match($pattern, $zeile, $txt))
>>> {
>>> tue dies und tue das
>>> }
>Ich glaube ich nehm dann einfach das Stueck "(\S+)"([^>]*)" mir
>heraus, oder?
Och nö, lass mal drin.
>Kannst Du mir vielleicht noch sagen was das genau tut?
>Ich wuerde das gern verstehen,
Ich auch, deswegen habe ich die URL mit angegeben. RegExp sind auch
nicht mein Ding. Zumindest soviel kann ich Dir sagen:
?(/S+)""([^>]*)
/S heisst, dass nach dem Gleichzeichen alles kommen darf ausser einem
Whitespace (Leerzeichen, Tab). Beim Fragezeichen rätsle ich auch denn:
Das ? steht eigentlich für die Elimnierung der Klammer, scheint aber
hier die Wiederholung des letzten Ausdrucks zu sein, der vor dem href
steht: Die Bedingung trifft auf 1 Zeichen zu. Die nächste Bedingung,
eingeleitet mit der ( besagt, dass als nächstes Zeichen KEIN > kommen darf,
dass wird durch das ^(Dach) angezeigt. Sondern alles andere, bis man zu
einem > kommt.
Vielleicht erbarmt sich einer der regexp Profis und klamüsert den String
auseinander (wenn Sie sich vom Lachanfall erholt hat). Irgendwie vermute ich
ganz grossen Mist geschrieben zu haben :-)
Michael
php::bar PHP Wiki - Listenarchive