Måske kan du bruge ideen fra denne her. Om ikke andet så viser den hvad der sker
<% Function clearHTMLTags(htmlStr) ' Her sættes søgekaraktererne sSeekChr1 = "<" sSeekChr2 = ">"
' I denne For next løkke løbes strengen igennem en ' karakter ad gangen For i = 1 to len(htmlStr) ' Er den nuværende karakter lig med søgekarakter1 If mid(htmlStr, i, 1) = sSeekChr1 Then ' Hvis ja - så loop videre i strengen indtil ' vi møder søgekarakter2 response.write "<BR>HIT SEEK1" & vbCrLf Do until mid(htmlStr, i, 1) = sSeekChr2 ' Vi looper en gang i = i + 1 response.write "<BR>REMOVING TAG Chr: " & i & vbCrLf Loop ' Nu ved vi at vi er forbi søgekarakter2 ' Tagget er atlså slut Else ' Derfor kan ingen karakterer, sim vi møder hernede, være ' en del af et tag response.write "<BR>ADDING Chr: " & i & ": " & mid(htmlStr, i, 1) & " TO NEW HTMLSTR" &
vbCrLf newHTMLStr = newHTMLStr & mid(htmlStr, i, 1) End If Next
' Returner den modificerede streng clearHTMLTags = newHTMLStr
thesufer, da det er et html-dokument, så har du vel overvejet at dit matematiske udtryk skrives "Matematik: 3 < 5 er sandt og 3 > 1 er også sandt :-)"
ellers kan browseren heller ikke finde ud af det :)
RemoveHTML = RegEx.Replace(strText, "") End Function
response.write RemoveHTML("<b><a href=""site.asp"">3 < 5</a> og 5 > 2</b>") %>
Denne her kan "som sådan klare det for dig..." den tjekker om der er et mellemrum efter <-tegnet. er der det, så erstattes det med <... herefter løbes igennem alle ting der kan være html-tags... og fjerner dem...
det er testet til at virke. men kræver som sagt at der er et mellemrum efter < hvis det benyttes til at vise at noget er større end noget andet etc...
men det er testet på den viste streng, og der virker det i hvert fald...
jo.... det burde være rigeligt... den tager i hvert fald alt mellem < og så næste > og så næste < osv... Så jeg vil mene at den sagtens kan klare det for dig :-)
Dette var lige hvad jeg søgte. Jeg har dog udviddet det en anelse (ikke kønt men det virker) Ovenstående løsning til bla. ikke hensyn til linieskift med <BR>, samt tabeller </TR>, det skulle min version klare.
Function RemoveHTML( strText ) ' Erstatter </TR>, <BR>, <HR> med Carriage return (ascii 0D) Dim RegEx Set RegEx = New RegExp RegEx.Pattern = "<(/TR|BR|HR)[^>]*>" RegEx.Global = True strText = RegEx.Replace(strText, CHR(13))
' Erstatter </TD> med mellemrum (ascii 20) Set RegEx = New RegExp RegEx.Pattern = "</TD>" RegEx.Global = True strText = RegEx.Replace(strText, CHR(32))
' Erstatter alle HTML tags med tom Set RegEx = New RegExp RegEx.Pattern = "<[^>]*>" RegEx.Global = True strText = RegEx.Replace(strText, "")
' Erstatter de steder hvor der optræder mere end et mellemrum med KUN ET mellemrum Set RegEx = New RegExp RegEx.Pattern = " +" RegEx.Global = True strText = RegEx.Replace(strText, CHR(32))
' Erstatter linieskift efterfult af mellemrum med linieskift (rykker altså alle linier ind til venstre) Set RegEx = New RegExp RegEx.Pattern = CHR(13) & ".? " RegEx.Global = True strText = RegEx.Replace(strText, CHR(13))
RemoveHTML = strText End Function
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.