如何去除字符串中的html标签?【有难度】
怎么去除字符串中的html标签?【有难度】
大家都见过上面这个代码吧。
我现在发现这个代码不全面啊。
我有个字符串,是从数据库中读取出来的。
需要对它进行 去除html标记的 处理工作。然后显示在网页某个地方。
我希望对它进行 强有力的 去除。我找了很久,发现网上的都不能用啊。
特别是:不能灵活处理 标签嵌套的问题。比如注释里有代码。
好吧,我把代码贴出来
我希望有这样一个函数,经过处理之后,上面的内容 只返回如下结果:
希望能得到一个完整的函数。 注意,用ASP。
------解决方案--------------------
Function RemoveHTML( strText )
Dim nPos1
Dim nPos2
nPos1 = InStr(strText, "<")
Do While nPos1 > 0
nPos2 = InStr(nPos1 + 1, strText, ">")
If nPos2 > 0 Then
strText = Left(strText, nPos1 - 1) & Mid(strText, nPos2 + 1)
Else
Exit Do
End If
nPos1 = InStr(strText, "<")
Loop
RemoveHTML = strText
End Function
www.teying.net
------解决方案--------------------
- VBScript code
Function RemoveHTML(strHTML) Dim objRegExp, Match, Matches Set objRegExp = New Regexp objRegExp.IgnoreCase = True objRegExp.Global = True objRegExp.Pattern = "(\<.[^\<]*\>)" Set Matches = objRegExp.Execute(strHTML) For Each Match in Matches strHtml=Replace(strHTML,Match.Value,"") Next RemoveHTML=strHTML Set objRegExp = Nothing End Function
大家都见过上面这个代码吧。
我现在发现这个代码不全面啊。
我有个字符串,是从数据库中读取出来的。
需要对它进行 去除html标记的 处理工作。然后显示在网页某个地方。
我希望对它进行 强有力的 去除。我找了很久,发现网上的都不能用啊。
特别是:不能灵活处理 标签嵌套的问题。比如注释里有代码。
好吧,我把代码贴出来
- HTML code
<script language="JavaScript"> <!-- var country="楼主" //--> </script> <style type="text/css"> .myname{font-family:"饿了";} </style> <table><tr><td>哇塞</td></tr></table> <iframe src=".............." title="还在加班"></iframe> <OBJECT src="..............">郁闷啊</OBJECT> <!-- 注释 我的<b>毅力</b>很强 --> <p> <font color=red>注意了:</font> 100只<i>鸡</i> < 200只<i>鸡</i> > 50只<i>鸡</i> = 一百只<i>鸡</i> </p>
我希望有这样一个函数,经过处理之后,上面的内容 只返回如下结果:
- HTML code
哇塞 注意了: 100只鸡 < 200只鸡 > 50只鸡 = 一百只鸡
希望能得到一个完整的函数。 注意,用ASP。
------解决方案--------------------
Function RemoveHTML( strText )
Dim nPos1
Dim nPos2
nPos1 = InStr(strText, "<")
Do While nPos1 > 0
nPos2 = InStr(nPos1 + 1, strText, ">")
If nPos2 > 0 Then
strText = Left(strText, nPos1 - 1) & Mid(strText, nPos2 + 1)
Else
Exit Do
End If
nPos1 = InStr(strText, "<")
Loop
RemoveHTML = strText
End Function
www.teying.net
------解决方案--------------------
- HTML code
<textarea id="sss" rows="10" cols="100"></textarea> <SCRIPT Language="VBScript"> Function RemoveHTML(strHTML) Dim objRegExp, Match, Matches Set objRegExp = New Regexp objRegExp.IgnoreCase = True objRegExp.Global = True objRegExp.Pattern = "<(.[^\<]*)>(.[^\<\1]*)<\/\1>" RemoveHTML = objRegExp.Replace(strHTML,"$2") Set objRegExp = Nothing End Function sss.value = RemoveHTML("100只<i>鸡</i> < 200只<i>鸡</i> > 50只<i>鸡</i> = 一百只<i>鸡</i>")
------解决方案--------------------
这些文本是你在文本编辑器里面输入的?预先排好格式的吗?
------解决方案--------------------
只删除标签:
- HTML code
<textarea id="sss" rows="10" cols="100"></textarea> <SCRIPT Language="VBScript"> Function RemoveHTML(strHTML) Dim objRegExp, Match, Matches Set objRegExp = New Regexp objRegExp.IgnoreCase = True objRegExp.Global = True objRegExp.Pattern = "<.[^\s|^<]*>" RemoveHTML = objRegExp.Replace(strHTML,"") Set objRegExp = Nothing End Function sss.value = RemoveHTML("100只<i>鸡</i> < 200只<i>鸡</i> > 50只<i>鸡</i> = 一百只<i>鸡</i>") </SCRIPT>