webForumDet fria alternativet

Regular expression som tar bort asp-kod

ASP

8 svar · 238 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Den här koden tar inte bort all asp-kod varför?

Function RemoveASP(ByVal sString)
	Dim objRegExp
	Set objRegExp = New RegExp
	objRegExp.Global = True
	objRegExp.IgnoreCase = True 
	objRegExp.Pattern = "<"&"%.+?%"&">"
	RemoveASP = objRegExp.Replace(sString & "", " ")
	Set objRegExp = Nothing
End Function
Medlem sedan jan. 20032 285 inlägg
#2

Funkar det kanske så här?

objRegExp.Pattern = "<" & "%[^%" & ">]*%" & ">"
Medlem sedan dec. 20003 887 inlägg
#3

Varför klippa och klistra så konstigt?

objRegExp.Pattern = "<%.*%>"
RemoveASP = objRegExp.Replace(sString, "")
Medlem sedan jan. 20032 285 inlägg
#4

Engine^ skrev:

Varför klippa och klistra så konstigt?

objRegExp.Pattern = "<%.*%>"
RemoveASP = objRegExp.Replace(sString, "")

Räknas det inte som context-switchar när man gör sådär? :q

Medlem sedan dec. 20003 887 inlägg
#5

Öhh... det är ju en sträng. Inte kod eller har jag missuppfattat något här?

Medlem sedan jan. 20032 285 inlägg
#6

Det tolkas tydligen inte så. Koden

<%
str = "hej <% hej %>"
%>

ger felmeddelandet

Kompileringsfel i Microsoft VBScript (0x800A0409)
Oavslutad strängkonstant
/asp/test.asp, line 2, column 17
str = "hej <% hej

Medlem sedan dec. 20003 887 inlägg
#7

Ok. Då är jag med :)

Fungerar det då om man kör med med &amplt; och &ampgt; då i strängen kanske eller blir det feltolkning där också?

Medlem sedan jan. 20032 285 inlägg
#8

Engine^ skrev:

Ok. Då är jag med :)

Fungerar det då om man kör med med &amplt; och &ampgt; då i strängen kanske eller blir det feltolkning där också?

Jag tror nog inte att det funkar, eftersom det trots allt står <% i strängen och inte <%. Eller?

Medlem sedan jan. 20013 406 inlägg
#9

Det här fungerar:

objRegExp.Pattern = "<"&"%[\s\S]*?%"&">"
260 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)