Thomas Lindgaard wrote:
> Jeg ønsker et regulært udtryk, som kan identificere email-adresser i en
> tekst og lave dem om til klikbare links. Email-adresser der allerede ER
> klikbare (altså står i <a href="mailto:...">), må den ikke røre ved.
Aha!
1. Links skal aldrig røres, uanset om de indeholder mailadresser eller
noget andet. Så hvis .... står for hvad som helst skal nedenstående ikke
røres.
<a ....>....</a>
2. Mailadresser skal laves til et link, hvis de ikke er det.
janf@janf.dk skal ændres til
<a href="mailto:janf@janf.dk">janf@janf.dk</a>
3. Mailadresser på formen
"Jan Fjeldmark" <janf@janf.dk>
skal behandles specielt. Du kan evt. vælge kun at se på den sidste del
af adresser på denne form. Og så reduceres problemet her i pkt. 3 til
det i pkt. 4.
Hvis du vælger dette, bliver den nævnte adresse til
"Jan Fjeldmark" <a href="mailto:janf@janf.dk">janf@janf.dk</a>
det ville være bedre om den blev til
<a href="mailto:janf@janf.dk">Jan Fjeldmark</a>.
4. Hvis mailadressen står i skarpe parenteser som i <aaa@bbb>, skal
disse fjernes før adressen laves til et link.
Altså <janf@janf.dk> bliver til
<a href="mailto:janf@janf.dk">janf@janf.dk</a>
5. Hvis der står mailto: skal dette fjernes før adressen laves til et
ling og får mailto: tilføjet.
Altså mailto:janf@janf.dk bliver til
<a href="mailto:janf@janf.dk">janf@janf.dk</a>
og det gør <mailto:janf@janf.dk> også når pkt 4 og 5 kombineres.
6. Syntaksen for mailadresser er beskrevet i rfc822 afsnit 6
<
http://www.freesoft.org/CIE/RFC/822/41.htm>.
Følgende syntaks vil fange de fleste mailadresser, men bestemt ikke alle:
[a-zA-Z0-9_\.]*@[a-zA-Z0-9_\.]*
Nu er opgaven klarlagt nogenlunde. Så mangler vi bare en haj til
regulære udtryk. Håber der er én som gider.
--
Jan Fjeldmark mailto:janf@janf.dk
http://janf.dk/
Hvad du end tror du er, så er du altid meget mere.