webForumDet fria alternativet

Reg Exp scripts bugg

6 svar · 194 visningar · startad av erka

erkaMedlem sedan dec. 19994 597 inlägg
#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

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

emissionMedlem sedan dec. 19996 095 inlägg
#2

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

erkaMedlem sedan dec. 19994 597 inlägg
#3

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

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

erkaMedlem sedan dec. 19994 597 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å.

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

[Redigerat av erka den 05 dec 2001]

emissionMedlem sedan dec. 19996 095 inlägg
#5

Jag är ett pucko.. återkommer

erkaMedlem sedan dec. 19994 597 inlägg
#6

he he, ok :e

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

erkaMedlem sedan dec. 19994 597 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

Genererad på 380 ms · cache AV · v20260730165559-full.f96bc7eb