webForumDet fria alternativet
Logga in / Bli medlem

Reg Exp scripts bugg

ASP

6 svar · 194 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Trådstart#1

Hej denna kod:

Function FixaTecken(strtext)
	Dim mDelimit, re
	mDelimit = Chr(0)
	Set re = New RegExp
	re.global = True
	re.IgnoreCase = true
	re.pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
	strtext = re.replace(strtext, "<a href=""mailto" & mDelimit & ":$1"">$1</a>")
	re.pattern = "(http://&#0124;https://&#0124;ftp://&#0124;mailto:)(\S)(\S+)"
	strtext = re.Replace(strtext, "<a href=""$1$2" & mDelimit & "$3"" Target='_blank'>$2" & mDelimit & "$3</a>")
	re.Pattern = "(www\.(\S)(\S+))"
	strtext = Re.Replace(strtext, "<a href=""http://$1"" target='_blank'>$1</a>")
	strtext = Replace(strtext, mDelimit, "")
	strtext = Replace(strtext, vbcrlf, "<br>")
	Response.Write strText
End Function

Hittade jag någonstanns här på wf och har upptäckt en liten bugg. Tror den var skriven av emission eller vide. Om man avslutar en text med en länk och sen en punkt och kör funktionen på den så kommer punkten med i länken. Eftersom jag inte kan reg. exp så tänkte jag hära om någon vet hur man kan komma förbi detta.

Tacksam

Medlem sedan dec. 19996 721 inlägg
#2

re.pattern = "(http://|https://|ftp://|mailto:)(\S)([^\s\.]+)"

Medlem sedan dec. 19996 522 inlägg
#3

fint! ska genast prova men antar att det gör det eftersom du skrev det ;)

Medlem sedan dec. 19996 522 inlägg
#4

Hmmm

denna kod:


Function FixaTecken(strtext)
	Dim mDelimit, re
	mDelimit = Chr(0)
	Set re = New RegExp
	re.global = True
	re.IgnoreCase = true
	re.pattern = "(\w+((-\w+)&#0124;(\.\w+))*\@[A-Za-z0-9]+((\.&#0124;-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
	strtext = re.replace(strtext, "<a href=""mailto" & mDelimit & ":$1"">$1</a>")
	re.pattern = "(http://&#0124;https://&#0124;ftp://&#0124;mailto:)(\S)(\S+)"
	're.pattern = "(http://&#0124;https://&#0124;ftp://&#0124;mailto:)(\S)([^\s\.]+)"
	strtext = re.Replace(strtext, "<a href=""$1$2" & mDelimit & "$3"" Target='_blank'>$2" & mDelimit & "$3</a>")
	re.Pattern = "(www\.(\S)(\S+))"
	strtext = Re.Replace(strtext, "<a href=""http://$1"" target='_blank'>$1</a>")
	strtext = Replace(strtext, mDelimit, "")
	strtext = Replace(strtext, vbcrlf, "<br>")
	Response.Write strText
End Function

Bryter följande text stycke (vid länkarna):
3-A has two web sites that you can look at for more information. www.3-a.org/ and zeus.ia.net/~aaasansb/

efter www på första och efter zeus på andra. Är det för de inte har skrivit in http:// vid den andra länken. Hlet idiot säkert kanske det inte går att göra då.

Medlem sedan dec. 19996 721 inlägg
#5

Jag är ett pucko.. återkommer

Medlem sedan dec. 19996 522 inlägg
#6

he he, ok :e

Medlem sedan dec. 19996 522 inlägg
#7

Hittade det här inlägget igen, emission du har inte kommit på någon lösning ? eller någon annan kanske

339 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
212 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)