Frågan 12 maj 2003 17:03 #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?
RegExp
Pattern = "<.*>"
For each Match item in matches
strText = Replace(strText,item,"")
Next
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)
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.
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 :)
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?
Ett sånt här kanske: "<script[\s\S]*?</script>"
Då börjar du med detta och tar sen bort resten av HTML-koden. :)
T tonyh Medlem sedan okt. 2002 107 inlägg 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
T tonyh Medlem sedan okt. 2002 107 inlägg Skit bakom spakarna...
Det var inget...
Det handlade om SBS denna gång också...
Mönstret fungerar fint :)