webForumDet fria alternativet

Hur rensar man bort HTML-kod från en sträng?

ASP

10 svar · 366 visningar · startad av Fredde Mannen

Medlem sedan nov. 20014 054 inlägg
Frågan#1

Om jag en sträng typ:

strText = "<html><head></head><body><table><tr><td>En massa text</td></tr></table> och så vidare....</body></html>"

Och jag vill rensa bort html-koden?

obs!

Jag vill inte använda mig av Server.HTMLEncode() , Jag vill bara göra html-koden synlig, jag vill plocka bort den, och bara nehålla texten!

Alltså hur rensar man bort alla html-taggar och får endast ren text?

Medlem sedan aug. 20003 575 inlägg
#2

RegExp

Pattern = "<.*>"

For each Match item in matches

strText = Replace(strText,item,"")

Next

Medlem sedan nov. 20014 054 inlägg
#3

Tackar!

Medlem sedan maj 200010 687 inlägg
#4

Eller bara:

Function RemoveHTML(ByVal sString)
	Dim objRegExp
	Set objRegExp = New RegExp
	objRegExp.Global = True
	objRegExp.Pattern = "<[^>]*>"
	RemoveHTML = objRegExp.Replace(sString & "", "")
	Set objRegExp = Nothing
End Function

str = RemoveHTML(str)
Medlem sedan nov. 20014 054 inlägg
#5

Tackar, tackar.

Men ett påstående till Nickemannen:

Denna del med "Match item in matches"

For each Match item in matches 

strText = Replace(strText,item,"") 

Next

Funkar inget vidare, det blir syntax-fel vid item i Match item in matches, men sätter jag For each item in matches, så säger den inget. Struntsamma..

Jag testar Erik's och ser om den ger det resultat som jag vill ha.

Medlem sedan maj 200010 687 inlägg
#6

Nickemannens kod var nog inte helt komplett och lite slarvigt skriven.
Men även om den var komplett så är min bättre. Mindre och effektivare kod! :p :)

Medlem sedan nov. 20014 054 inlägg
#7

Tackar... men om jag skulle vilja plocka bort det som finns mellan ex. Script taggar som;

<script language="javascript type="text/javascript">

En massa kod...
</script>

Den första är jätte bra, men den lämnar kvar det som finns mellan script-taggarna....

Hur ska jag bygga Pattern för det?

Medlem sedan maj 200010 687 inlägg
#8

Ett sånt här kanske: "<script[\s\S]*?</script>"
Då börjar du med detta och tar sen bort resten av HTML-koden. :)

Medlem sedan nov. 20014 054 inlägg
#9

Tack för all hjälp!!! :e

Medlem sedan okt. 2002107 inlägg
#10

Hmmm...

Denna mönster ser ok ut med verkar inte fungera:

 "<script[\s\S]*?</script>"

Är det någon som ser något fel med mönstret...
Mvh / Tony H

Medlem sedan okt. 2002107 inlägg
#11

Skit bakom spakarna...

Det var inget...
Det handlade om SBS denna gång också...

Mönstret fungerar fint :)

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