webForumDet fria alternativet
Logga in / Bli medlem

Replace *

ASP

8 svar · 423 visningar · startad av eTeRnAl

Medlem sedan sep. 200225 inlägg
Trådstart#1

Hej!
Har lite funderingar över om det går att replace'a allt som står innom en "tag"?

som ex:

ReText = Replace(ReText, "<a href", "[link")
ReText = Replace(ReText, "<*>", "")
ReText = Replace(ReText, "</*>", "")
ReText = Replace(ReText, ">", "]")

Det jag då undrar är om man kan ersätta resten av koderna som e pastade att inte bli någonting, om ni förstår? :)

Medlem sedan feb. 200112 078 inlägg
#2

Den där ersättningen ser väldigt konstig ut tycker jag. Hur ser variabeln 'ReText' ut innan du manglar igenom den genom det där?

Om det är som jag tror, så borde du nog kika lite på Regular expressions för att lösa ditt problem.

Medlem sedan sep. 200225 inlägg
#3

Den ser ut såhär:

ReText = Request.Form("html")

:)

Enda den gör är att hämta informationen som är postad, och sen så skall den skriva om den.

Men det jag huvudsakligen undrar är att om man har angivit vissa koder, tex <a href>, <img src>, <b> etc, så skall <*> ta bort alla koder som inte finns med i scriptet, typ <p> och så.
Hänger du med? Eller behöver jag utveckla mig mera? :)

Medlem sedan feb. 200112 078 inlägg
#4

Ok, klumpigt författat av mig. Vad innehåller den, om vi säger så då? HTML antar jag.

Och nej, jag tror inte att jag förstår. Vill du byta ut alla HTML-taggar mot [egna] taggar?

Medlem sedan sep. 200225 inlägg
#5

Japps precis, så att den gör om till mina *egna* taggar :)

Du kan se sidan på http://www16.brinkster.com/eternai/replace.asp så förstår du hur scriptet fungerar nu, enda jag vill är att om du skriver en kod som inte finns i en tag <*> så skall den ta bort hela taggen.

Medlem sedan feb. 200112 078 inlägg
#6

Ja du.. regular expressions skulle jag nog föreslå. :)

Men det är jag lite kass på, tyvärr. :l

Medlem sedan maj 200010 687 inlägg
#7

Vill du ta bort all HTML? I så fall så är en sån här funktion bra. :)

Function RemoveHTML(ByVal sHTML)
	
	Dim RegEx
	Set RegEx = New RegExp
	
	sHTML = Trim(sHTML & "")
	
	RegEx.IgnoreCase = True
	RegEx.Global = True
	RegEx.Pattern = "<[^>]*>"
	
	RemoveHTML = RegEx.Replace(sHTML, "")
	
	Set RegEx = Nothing
	
End Function
Medlem sedan sep. 200225 inlägg
#8

Mjae, delvis :)

Vill först göra om en del utav koden, men vissa koder stöds inte sen. Så tex <a href> <img src> stöds, så vill jag göra om dom först, sen all resterande koder tex, <p> <table> o så skall tas bort. Men skall testa lite med det du skrev och så får jag se om jag lyckas med något :)

Tackar!

Medlem sedan maj 200010 687 inlägg
#9
Function RemoveTag(ByVal sString, _
	ByVal sTag)
	
	Dim objRegExp
	Set objRegExp = New RegExp
	
	objRegExp.IgnoreCase = True
	objRegExp.Global = True
	
	objRegExp.Pattern = "<" & sTag & "[^>]*>"
	sString = objRegExp.Replace(sString, "")
	
	objRegExp.Pattern = "</" & sTag & "[^>]*>"
	sString = objRegExp.Replace(sString, "")
	
	Set objRegExp = Nothing
	
	RemoveTag = sString
	
End Function

En funktion som med lite förbättringar skulle kunna användas för att ta bort specifika HTML-taggar. :)

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