E-Mail-Adresse -> Link?

Hi, ich bin’s schon wieder :smile:
Ich möchte aus einer E-Mail-Adresse, die (vielleicht) in einem String enthalten ist, einen Link der Form emailadresse machen. Der folgende Reguläre Ausdruck funktioniert leider nicht ganz:

$text=~ s/\ {1}.\*\@.\*?\ / [$& /gi;$text=~ s/\.\*\@.\*?\ /substr($&,0,length($&amp:wink:-1...](%255C%2522mailto:%2524&%255C%2522)

Hat wer eine Idee?
CU
Dennis

Vielleicht so ?

if($email =~ /\S@.+?..+/) {
$emailadresse = „1“;
}
if($emailadresse ne 1){
print"b>Fehler: Diese Emailadresse ist fehlerhaft";
}elsif($emailadresse eq 1){
print"$email";
}

Hi!
Dein Codeschnipsel überprüft ja nur, ob eine Variable eine gültige E-Mail-Adresse enthält! Ich will ja aus einem beliebigen Text alle E-Mail-Adressen zu Links machen…
CU
Dennis

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Dein Codeschnipsel überprüft ja nur, ob eine Variable eine
gültige E-Mail-Adresse enthält!

Ja, und wenn das dann wirst diese als Link ausgegeben.

Wenn Du aber die emailadressen aus einem Text einlesen willst, und diese dann als MAilto Links darstellen willst, dann kommt es zum teil auch darauf an in welcher Form der text vorliegt, und wie dieser Formatiert ist…

Ja, und wenn das dann wirst diese als Link ausgegeben.

Wenn Du aber die emailadressen aus einem Text einlesen willst,
und diese dann als MAilto Links darstellen willst, dann kommt
es zum teil auch darauf an in welcher Form der text vorliegt,
und wie dieser Formatiert ist…

Genau das war ja mein Problem :smile: Ich habe es mittlerweile (natürlich mit Hilfe der Experten *g*) folgendermaßen gelöst:

$text =~ s/(.\*?)([a-zA-Z0-9\-\.\_]+)@([a-zA-Z0-9\-\.]+\.[a-z]+).\*/$1 [$2@$3$4/si;](%255C%2522mailto:%25242%255C@%25243%255C%2522)

CU
Dennis

Servus.

Ich hab’s wie folgt geloest:

$email =~ s/([a-zA-Z0-9\-\.]{2,}@[a-zA-Z0-9\-]{2,}\.[a-zA-Z]{2,4})\b/[$1/gi;](mailto:%241)

Gruss, Tobi

(Lustig: sogar w-w-w erkennt meinen reg. Ausdruck als E-Mail :smile: