webForumDet fria alternativet

Länkar bryts i fixatecken(str)

ASP

2 svar · 317 visningar · startad av timedia

Medlem sedan maj 2001420 inlägg
Frågan#1

Försöker lägga in denna långa länk i texten.
http://www.riksdagen.se/Webbnav/index.aspx?nid=3322&doktyp=bet&rm=2006/07&bet=MJU14&dok_id=GU01MJU14
Tyvärr bryts länken och de 2 sista tecknen (14) blir inte länkade - fast dom kommer med. Varför?

function fixatecken(str)
str = Replace(str, vbCrLf & vbCrLf, "<BR><BR>" & vbCrLf)
str = Replace(str, "<br>", "&nbsp;")
str = Replace(str, vbCrLf, "<br>")
Set objRE = New regexp
objRE.Global = true
objRE.IgnoreCase = true

objRE.Pattern = "(www.[^ ]*[a-z])|(http://[^ ]*[a-z])"
str = objRE.Replace(str,"<a class=""nytt"" href=""$1$2"" target=""_blank"">$1$2</a>")

str = Replace(str,"""www","""http://www")
str = Replace(str,"""http://www""","""www""")

str = Replace(str,"<br""","""")
str = Replace(str,"<br</a> />","</a><br />")

Set objRE = Nothing
fixatecken = str

End function

EDIT// När jag tittar på mitt inlägg så ser jag att webforum lyckas. Hur går det till?

Medlem sedan juni 20031 837 inlägg
#2

Du har skrivit att ditt pattern måste sluta med a-z

objRE.Pattern = "(www.[^ ]*[B][a-z][/B])|(http://[^ ]*[B][a-z][/B])"
Medlem sedan maj 2001420 inlägg
#3

Ändrade till detta och det funkar utmärkt:

objRE.Pattern = "(www.[^ ]*[\w])|(http://[^ ]*[\w])"
256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)