Avatar billede Rygaard11 Nybegynder
13. februar 2010 - 22:59 Der er 6 kommentarer

Finde mailadresse i tekstfelt

Håber nogen kan hjælpe - har googlet og ikke fundet noget brugbart, selvom jeg ville mene det er forholdsvist simpelt.

Det jeg mangler er metoden til at udtrække mailadressen i et tekstfelt, og så danne et link til mailadresen.
Altså har jeg f.eks. teksten: Hej. Jeg vil gerne have en mail på adressen xxxxx@xxxxxx.com.
Og her vil jeg så gerne have den til at søge efter om der en en valid mailadresse i teksten.

Håber nogen har en løsning.
MVH Rygaard
Avatar billede janus_007 Nybegynder
13. februar 2010 - 23:31 #1
En Regex kan klare sagen :)

\w+@\w+\.\w{2,3}


Test her : http://www.gskinner.com/RegExr/
Avatar billede kjeldsted Novice
13. februar 2010 - 23:46 #2
$var = "Test mail@adresse.dk besked";

$new = preg_replace("/\w*@\w*\.*\w*/i","<a href=\"mailto:\\0\">\\0</a>",$var);
echo $new;

Det burde kunne gøre det. Men det tager nu ikke højde for om mailadressen er gyldig eller ej.
Avatar billede kjeldsted Novice
14. februar 2010 - 00:09 #3
Hov. Kommer i tanker om at ovenstående ikke er 100% korrekt. Fx. vil en mailadresse som #@eksperten.dk ikke blive medtaget, selvom der er tale om en godkendt adresse. Det skal nok hellere være følgende i stedet:

$var = "Test mail@adresse.dk besked";

$new = preg_replace("/^([a-zA-Z0-9\.\-\_\#\!\$\%\&\'\*\+\/\=\?\^\{\}\|]+)@([a-zA-Z0-9\.\-\_]+)\.([a-zA-Z+]{2,4})$/","<a href=\"mailto:\\0\">\\0</a>",$var);
echo $new;

Så burde den medtage alle gyldige mailadresser og undlade dem der indeholder ulovlige tegn.
Avatar billede janus_007 Nybegynder
14. februar 2010 - 00:29 #4
tjaaa, det viser sig at der findes en RFC 2822 - standard :) http://www.regular-expressions.info/email.html

[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum)\b

Lidt overdrevent måske *GG*
Avatar billede kjeldsted Novice
14. februar 2010 - 00:39 #5
Well. Ser umiddelbart ud til at lige min version en hel del ;) Dog med få ændringer. Burde jeg rette i mine egne systemer.

Og om det er overdrevet? Hm. Det er jo egentlig ikke optimalt at man laver et hjemmeside system der passer til nogle mailadresser men ikke til alle. Den ovenstående kode jeg postede er den jeg selv har brugt for at undgå at der skulle komme en mailadresse som er gyldig med bliver afvist.
Avatar billede kjeldsted Novice
11. maj 2011 - 11:44 #6
Bare for at følge op.
Er problemet løst? Og i så fald bør tråden lukkes.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



IT-JOB

Udviklings- og Forenklingsstyrelsen

UI-designer med flair for apps

Cognizant Technology Solutions Denmark ApS

Service Line Specialist - ServiceNow (Thirdera)

Netcompany A/S

IT Manager