regex for html filtering
am 15.02.2006 22:41:34 von Daniel Grunow
Hallo,
ich möchte in einem String alle Tags, aber keine Links entfernen.
Ich habs mit Regulären Ausdrücken versucht, aber mehr Schlecht als Recht
hin bekommen.
Ich habe jetzt nämlich Ausdrücke für:
1. alle Tags finden
(<[^>]*>)
2. alle Links finden (Text)
(]*)>(.*))
Aber wie kann ich denn jetzt die Links von den Tags ausschließen,
so das ich alle Tags, jedoch keine Links mit Regex replacen kann?
Daniel
Re: regex for html filtering
am 16.02.2006 20:52:15 von Markus Kottenhahn
Daniel Grunow schrieb:
> 1. alle Tags finden
> (<[^>]*>)
>
> 2. alle Links finden (Text)
> (]*)>(.*))
>
> Aber wie kann ich denn jetzt die Links von den Tags ausschließen,
> so das ich alle Tags, jedoch keine Links mit Regex replacen kann?
Damit dürfte es passen:
<([a][^\s]|[b-z])[^>]*>
Entweder das Tag fängt mit a an, dann wird das zweite Zeichen
zwangsläufig ein Buchstabe oder eine Ziffer sein (oder aber es ist halt
ein Link, was damit ausgeschlossen wird), aber keinesfalls ein Blank.
Oder aber, das Tag fängt mit b bis z an, dann isses eh kein Link.
Beachte, dass der Regex hier nicht case-sensitive ist, also Schalter /i
hintendran nicht vergessen.
Achtung! Ungetestet;)