webForumDet fria alternativet

RegExp vill inte konvertera länkar

ASP

3 svar · 299 visningar · startad av bigsky

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

Varför skriver denna kod inte ut länkarna överhuvudtaget:

Function ConvertLink(strText)
  strText = Replace(Server.HTMLEncode(strText),vbCrLf,"<br>")
  Set objRegExp = New RegExp
  objRegExp.Global = True
  objRegExp.IgnoreCase = True
  objRegExp.Pattern = "(www\.(\S)(\S+))"
  objRegExp.Pattern = "((?:mailto\:|(?:news|(?:ht|f)tp(?:s?))\://){1}\S+)"
  strText = objRegExp.Replace(strText,"<a href=http://$3 target=""_blank"">$4</a>")
End Function

När jag anropar såhär:

Call ConvertLink(rsShowPostReplies("Message"))
Medlem sedan maj 2002821 inlägg
#2

Någon..?

Medlem sedan juni 200032 967 inlägg
#3

Resultatet läggs i strText, men det är inte den du skickar in i funktionen. Och eftersom du har en funktion, så borde funktionen returnera någonting.

Function ConvertLink(strText)
  strText = Replace(Server.HTMLEncode(strText),vbCrLf,"<br>")
  Set objRegExp = New RegExp
  objRegExp.Global = True
  objRegExp.IgnoreCase = True
  objRegExp.Pattern = "(www\.(\S)(\S+))"
  objRegExp.Pattern = "((?:mailto\:|(?:news|(?:ht|f)tp(?:s?))\://){1}\S+)"
  strText = objRegExp.Replace(strText,"<a href=http://$3 target=""_blank"">$4</a>")
ConvertLink = strText
End Function

...

sTextWithLinks = ConvertLink(rsShowPostReplies("Message"))

Sedan är det bara att skriva ut variabeln sTextWithLinks, eller vad du nu vill göra med den.

Medlem sedan maj 2002821 inlägg
#4

Tack.

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