webForumDet fria alternativet

Replace *

8 svar · 421 visningar · startad av eTeRnAl

eTeRnAlMedlem sedan sep. 200225 inlägg
#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? :)

OveRRidEMedlem sedan feb. 20018 509 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.

eTeRnAlMedlem 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? :)

OveRRidEMedlem sedan feb. 20018 509 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?

eTeRnAlMedlem 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.

OveRRidEMedlem sedan feb. 20018 509 inlägg
#6

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

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

Erik JuhlinMedlem sedan maj 20007 625 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
eTeRnAlMedlem 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!

Erik JuhlinMedlem sedan maj 20007 625 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. :)

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