Hi,
danke frank, jörk und cheatah für die antworten bis jetzt. speziell cheatah: der code funktioniert, nur mit dem manko dass das ergebnis zb. so aussieht:
Die Email Adresse lautet: webmaster@ford-network.at">webmaster@ford-network.athab ich soweit ingekriegt das er nur mehr die erste webmaster... nimmt. nur, ich habe die regexp einfach so erweitert das sie bei " aufhört. was aber wenn jemand ein ' benützt hat? geht das nur im if...elsif oder auch in einem befehl?
if ($variable =~ /mailto:([^\s"'>]+)/) { print "eMail-Adresse: $1\n"; }
Ich habe die eckige Klammer einfach um ein paar verbotene Zeichen erweitert. Alternativ kannst Du sie auch ersetzen durch:
[\w.@-]
womit \w (entspricht "a-zA-Z0-9_"), der Punkt, "@" und "-" erlaubt sind. Beim ersten nicht erlaubten Zeichen bricht er dann ab.
und: was ist wenn in der variablen 2 mail adressen vorkommen? mit meinen änderungen nimmt er nur die erste.
kann man da auch was machen?
Ersetze "if" durch "while" - allerdings wird es bei HTML-Tags der von Dir genannten Art zu Verdopplungen führen. Dies kannst Du folgendermaßen umgehen:
while ($variable =~ /.../) { $hash{$1}++; } # "..." durch die RegExp Deiner Wahl ersetzen!
foreach (keys %hash) { print "$_ wurde $hash{$_} mal gefunden.\n"; }
Cheatah