webForumDet fria alternativet

Tillåt inte < i RegExp för mailto.

ASP

2 svar · 287 visningar · startad av Oputres

Medlem sedan feb. 2004333 inlägg
Frågan#1

Allå!

Jag har följande kod för att skapa en klickbar mailto-länk när jag med RegExp hittar en epostadress i en text:

objRE.Pattern = "([^\s]+@([^\s]+\.)+\w{2,6})"
s = objRE.replace(s, "<a href=""mailto:$1"">$1</a>")
Set objRE = Nothing

Men då jag använder en Rich Text Editor för formatering i formulären går RegExp igenom ren html-kod vilket gör att det vid t.ex. radbyte hamnar en <br>-tagg direkt efter epostadressen. RegExp skall alltså läsa av info@doman.se<br>... Hur får jag RegExp att stoppa om den stöter på ett <-tecken? Skriver jag en punkt direkt efter se (info@doman.se.) känner den av att det är en punkt för mycket och bryter där så jag får en korrekt klickbar länk.

Medlem sedan feb. 2004333 inlägg
#2

Detsamma gäller även min funktion nedan för att skapa klickbara länkar såg jag nu, alltså, hur får jag min RegExp att stanna när den stöter på <-taggen?

dim objRE, m, o
On error resume next
Set objRE = new RegExp 
objRE.IgnoreCase = True : objRE.Global = True 
objRE.Pattern = "(http:\/\/|www\.)(\w|\&|\:|\;|\.|\/|\?|\~|\=|-)+"
Set m = objRE.Execute(s) 
For Each o In m 
If Right(o.Value, 1)="." Or Right(o.Value, 1)="!" Or Right(o.Value, 1)="?" Or Right(o.Value, 1)="," Then 
If Left(o.Value, 3) = "www" Then s = Replace(s, o.Value, "<A HREF=""http://" & Left(o.Value, Len(o.Value)-1) & """ target=""_blank"">" & Left(o.Value, Len(o.Value)-1) & "</A>" & Right(o.Value, 1)) Else s = Replace(s, o.Value, "<A HREF=""" & Left(o.Value, Len(o.Value)-1) & """>" & Left(o.Value, Len(o.Value)-1) & "</A>" & Right(o.Value, 1)) 
Else 
If Left(o.Value, 3) = "www" Then s = Replace(s, o.Value, "<A HREF=""http://" & o.Value & """ target=""_blank"">" & o.Value & "</A>") Else s = Replace(s, o.Value, "<A HREF=""" & o.Value & """ target=""_blank"">" & o.Value & "</A>") 
End If 
Next
Medlem sedan feb. 2004333 inlägg
#3

Ingen som kan :(

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)