webForumDet fria alternativet

RegExp i nestlad funktion?

ASP

0 svar · 204 visningar · startad av klementin

Medlem sedan aug. 2001117 inlägg
Frågan#1

Hej!
Har en fråga om RegExp och hur, om man kan, använda detta i en nestlad funktion. Denna kod har jag nu:

	Function textFromDB(sString)

		Dim sTemp, objRegExp

		sTemp = Trim(sString)

		Set objRegExp = New regexp
		objRegExp.Global = True
		objRegExp.IgnoreCase = True

		objRegExp.Pattern = "\[BINLINK=(")?(.*?)\1\](.*?)\[\/BINLINK\]"
		sTemp = objRegExp.Replace(sTemp, "<A onMouseOver=""linkOver(this);"" onMouseOut=""linkOut(this);"" onClick=""popupDownload('download.asp?qBinary=$2', '" & Session.SessionID & "', 350, 200);"" title=""$2""><U>$3</U></A>")

		Set objRegExp = Nothing

	End Function

Vad denna funktion gör är att den byter ut [BINLINK=finbild.jpg]Fin liten bild[/BINLINK] mot en klickbar länk till bilden, men det som är så fiffigt med RegExp är ju man att genom Pattern får ut vissa variabler, tex $2 i det här fallet är ju finbild.jpg, detta
skulle jag vilja kunna utnyttja och ropa på en annan funktion för att kunna plocka ut vilken filändelse filen har, tex. så här:


	Function textFromDB(sString)

		Dim sTemp, objRegExp

		sTemp = Trim(sString)

		Set objRegExp = New regexp
		objRegExp.Global = True
		objRegExp.IgnoreCase = True

		objRegExp.Pattern = "\[BINLINK=(&quot;)?(.*?)\1\](.*?)\[\/BINLINK\]"
		sTemp = objRegExp.Replace(sTemp, "<A onMouseOver=""linkOver(this);"" onMouseOut=""linkOut(this);"" onClick=""popupDownload('download.asp?qBinary=$2', '" & Session.SessionID & "', 350, 200);"" title=""$2""><IMG src=""./gif/[B]icon_" & getFileExt($2) & ".gif[/B]""></A>")

		Set objRegExp = Nothing

	End Function

	Function getFileExt(sfile)

		Dim sFile

		sFile = Trim(sfile)

		If sFile <> "" Then

			sFileExt = Mid(sFile, InstrRev(sFile, ".") + 1)

			getFileExt = UCase(sFileExt)

		End If

	End Function

Nu fungerar ju inte denna kod men hur ska man göra för att kunna få det att fungera?
Tack på förhand!
Med vänlig hälsning
KLEMENTiN

246 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)