webForumDet fria alternativet

Emission, din http:// blir URL funktion

ASP

6 svar · 213 visningar · startad av PatrikB

Medlem sedan mars 20002 836 inlägg
Frågan#1

.... funkar inte tillsammmans med tex en annan funktion som byter ut vbcrlf mot tex radbrytning i HTML eller nytt stycke eller hur man nu fill formatera upp texten på för sätt.

du har ingen lösning på det? för själv e jag ej hemma på detta med RegExp .... än. Kanske en vacker dag =P

Aha, funktionen ser ut så här nu:

Function GetUrl(ByVal strText)
Dim mDelimit
Dim 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"">$2" & mDelimit & "$3</a>")
				
	re.Pattern = "(www\.(\S)(\S+))"
		strText = re.Replace(strText, "<a href=""http://$1"">$1</a>")
		strText = Replace(strText, mDelimit, "")
		
Response.Write strText
		
End Function

cya,
PatrikB

------------------
=================================
** ZWGdesign **
=================================

[Redigerat av PatrikB den 26 sep 2000]

Medlem sedan dec. 19996 721 inlägg
#2

Nog finns det en och annan liten bugg, men det ska absolut inte vara något problem att kombinera detta med andra funktioner. Dock har du den inte skriven som en funktion nu, utan som en sub, vilket gör det lite oflexibelt.

Function GetUrl(ByVal strText)
Dim mDelimit
Dim 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+)"
strText = re.Replace(strText, "<a href=""$1$2" & mDelimit & "$3"">$2" & mDelimit & "$3</a>")

re.Pattern = "(www\.(\S)(\S+))"
strText = re.Replace(strText, "<a href=""http://$1"">$1</a>")
strText = Replace(strText, mDelimit, "")

GetUrl=strText

End Function

------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB

[Redigerat av emission den 26 sep 2000]

Medlem sedan mars 20002 836 inlägg
#3

Hello,

jo, jag vet. Provade både som funktion och sub ..... men, får det inte att funka med en funktion som formaterar texten, dvs ersätter vbcrlf med [br]

Labbar vidare med den och ser vad man kan få till,

cya,
PatrikB

------------------
=================================
** ZWGdesign **
=================================

Medlem sedan dec. 19996 721 inlägg
#4

Det kan vara att du byter till <br> innan du kör denna funktion. Länkarna matchas hela vägen från http:// till nästa mellanslag, nyrad el. dyl. Då kan det bli lite konstigt om man tar bort alla vbcrlf. Lätt att fixa, i regexp:en, om man så vill.

------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB

Medlem sedan mars 20002 836 inlägg
#5

Det stämmer för br kommer med i själva länkurlen ....

Hur skulle det kunna fixas till?
Du har inte ngn bra länk på hur RegExp funkar?

Sitter dock och leker med den och en del funkar medans det mesta blir "kajko"

cya,
PatrikB

------------------
=================================
** ZWGdesign **
=================================

Medlem sedan dec. 19998 577 inlägg
#6

Här: http://www.4guysfromrolla.com/webtech/090199-1.shtml

Annars finns det ganska så mycket på MS...

Mvh, Vide

------------------
Kom hem till mig...

Medlem sedan mars 20002 836 inlägg
#7

Tackar för tipsen ....

fick ihop lite material att läsa ... och hoppas att jag får till det så att det funkar =)

cya,
PatrikB

------------------
=================================
** ZWGdesign **
=================================

258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)