Avatar billede robson Nybegynder
13. marts 2008 - 09:48 Der er 1 kommentar og
1 løsning

Find e-mail adresse i tekst og erstat med ny kode

Jeg har brug for et asp script der kan løbe en tekst igennem og finde alle forekomster af e-mail adresser.

Teksten der løbes igennem stammer fra en html editor så det vil være html og alm. tekst der skal gennemgås.

Det er min tanke at erstatte alle <a href="mailto:min@mail.dk">min@mail.dk</a> med noget kode ala den der genereres på siden http://www.html.dk/artikler/00041/convert_email.asp for at skjule adresserne fra spam robotter.

Er der nogle der har nogle brugbare scripts liggende eller links til lignende løsninger?
Avatar billede robson Nybegynder
17. marts 2008 - 08:25 #1
Jeg har forsøgt med følgende:

Function TextConv(sText)
    Dim objRegExp
    Set objRegExp = New RegExp
    objRegExp.IgnoreCase = True
    objRegExp.Global = True
    objRegExp.Pattern = "(\S+@{1}\S+\.[a-z][a-z]+\b)"
    sText = objRegExp.Replace(sText, "###$1###")
    Set objRegExp = Nothing
    TextConv = sText
end function

Som test sætter jeg bare ### foran og bagved e-mail adressen, men problemet lige nu er at de første ### "forsvinder" ind i den foran stående tag (hvis der er en). Fx hvis teksten er:
<span class=emailClass>min@mail.dk</span>
så bliver det til
<span ###class=emailClass>min@mail.dk###</span>

Så nu er opgaven at opsætte den korrekte regular expression sætning...
Avatar billede robson Nybegynder
17. marts 2008 - 11:04 #2
Jeg lukker her og forsætter på http://www.eksperten.dk/spm/824023
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
Kurser inden for grundlæggende programmering

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