gudn tach!
- Warum scheitert meine regexp nicht an "mailto:" und "http:"?
wegen dem fragezeichen im "? davor, denke ich.
Nein, das Fragezeichen sagt nur, dass das " optional ist, also auch fehlen kann.ja, das weiss ich. ich dachte jedoch, dass eben gerade diese optionalitaet in konflikt geraten koennte mit dem zero-width negative look-ahead-muster (?!...). vielleicht kann da jemand etwas zu sagen, der's genau weiss.
hab mir noch mal gedanken darueber gemacht:
angenommen wir durch suchen den string
$html_body='<a href="http://www.bierdatenbank.de/index.php">bdb</a>';
dann findet
/((?i)href=)"?(?!mailto:|http:)([^>" ]*)"?/
folgendes:
regexp             |  gefunden
-------------------+-----------------------------------------
((?i)href=)        |  href=
"?                 |  (kein ")
(?!mailto:|http:)  |  (also auch kein mailto: oder http:)
([^>" ]*)          |  (nix, da " naechstes zeichen)
"?                 |  " (weil gierig)
also insg. wir bloss href=" gefunden.
deswegen besser vorher, wie im anderen ast bereits erlaeutert, die urls mit " vorne und hinten versehen und dann:
/((?i)href=")(?!mailto:|http:)([^>" ]*")/
prost
seth
 nicht angemeldet
 nicht angemeldet