Mailinglisten-Archive |
moin Alex,
Axel Tietje <a.tietje_(at)_flynet.de> schrieb:
> (Pageviews<br>seit dem 17.06.1999: )([^<]+)(.*)
> Das funktioniert auch. Wie aber kann ich im 2. Teil eine Phrase statt
> nur eines Zeichens angeben? Ich habe es z. B. mit
> ([^\(<br>\)]+) oder (^\(<br>\)) in allen möglichen Variationen
> probiert - die richtige war nicht dabei.
nein, das klappt nicht.
Mit [] suchst Du nach Zeichenklassen. Also wuerde
[^\(<br>\)] auf alles passen, was keine Klammer (), <>, b oder r ist.
Wahrscheinlich nicht das was du willst.
Das Prinzip "Think negative" [^...] klappt nur bei einzelnen Zeichen.
Ansonsten musst Du es so probieren:
"(Pageviews<br>seit dem 17.06.1999: )(.*?)(<br>)"
Das kann allerdings nur, wie ich gerade herausgefunden habe, die
perl-kompatible Version. Ohne Fragezeichen im Pattern laeufst Du Gefahr,
dass ein zweites <br> in der Zeile ist und damit alles bis zum hinteren <br>
gespeichert wird. ("greedy regexp")
Eine weitere Moeglichkeit ist folgende:
Du suchst ja Pageviews, d.h. das ist auf jeden Fall eine Zahl (\d+)
"(Pageviews<br>seit dem 17.06.1999: )(\d+)(<br>)"
hm... ich sehe gerade auch \d ist eregi unbekannt :-(
also naechster Versuch:
"(Pageviews<br>seit dem 17.06.1999: )([0-9]+)(<br>)"
klappt.
Vielleicht kannst Du Deinen Provider ja ueberzeugen auf php3.0.12
aufzuruesten. 3.0.6 ist ja "vorsintflutlich" ;-)
cu,
oliver
php::bar PHP Wiki - Listenarchive