如何在asp中去掉HTML标记,只显示文本

发布时间:2007年01月24日      浏览次数:2132 次
asp中去掉HTML标记有很多方式,但是这个在使用中最感觉最好,给大家分享。
定义:
Function RemoveHTML(strHTML)
ON ERROR RESUME NEXT
Dim objRegExp, strOutput
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "<.+?>"
strOutput = objRegExp.Replace(strHTML, "")
strOutput = Replace(strOutput, "<", "〈")
strOutput = Replace(strOutput, ">", "〉")
RemoveHTML = strOutput
Set objRegExp = Nothing
End Function
调用:
RemoveHTML(被调用的值)
==================================================================
Function FilterHTML(strToFilter)
Dim strTemp
strTemp = strToFilter
While Instr(1,strTemp,"<") AND Instr(1, strTemp, ">")
strTemp = Left(strTemp, Instr(1, strTemp, "<")-1) & Right(strTemp, Len(strTemp)-Instr(1,strTemp, ">"))
WEnd
strTemp=replace(strTemp," ","")
FilterHTML = strTemp
End Function
=============================================================
如果在html代码里面有图片的大小判断代码的话,最好将下面代码加到过滤函数的前面.
txt_content=replace(trim(txt_content),"width>","width〉")
txt_content=replace(trim(txt_content),"width<","width〈")
txt_content=replace(trim(txt_content),"height>","height〉")
txt_content=replace(trim(txt_content),"height<","height〈")
例如:
一个img代码为:
<img src="" onload="if(this.width>100){this.width=50;}">
如果在过滤前不将<>中间的所有>号(或<号)先去掉的话,那么就会出现一些小小的问题,比如上面的结果将会显示成:
100){this.width=50;}">
文章来源:http://bbs.ywan.com/ruanjian/web/2006-11-29/6156.html
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!