Cheatah: Sammlung mit regulären Ausdrücken

Beitrag lesen

Hi,

if ($string =~ /<a\s*([^>]+)\s*href\s*=\s*(?:["']?)([^<>"']*)([^>\s"']+)/i) {
  $url = $3;
}

das Problem bei solchen RegExp ist, daß Du _immer_ auf irgendwelche Fälle triffst, in denen sie versagen. Beispiele:

<ahref="...">
<a href="<link>">
<a href="ein'link">

Und um auch etwas realistischeres dabeizuhaben:

<a href="<javascript:window.open('about:blank');>">
<a href="<http://www.deja.com/msgid.xp?ST=QS&AH=1&MID=60631d2140fd692c242c65d432214098@fitug.de>">

das machst Du besser mit dem Modul HTML::Parser.

HTML::Parser ist _etwas_ Speicherunfreundlich .)

Hab ich noch nicht daraufhin geprüft, mag also sein. Ich bin jedoch sicher, daß man dieses Verhalten mit geeigneter Programmierung optimieren kann.

Cheatah