ASP 过滤HTML函数代码及用法

作者:我就是个世界 发表于:2008-09-19
首页调用新闻内容,总是连HTML一块儿调出来,把版面都给撑坏了,又不可能每次都去后台重新编辑那条新闻,而且编辑完了之后,新闻内容页版面也很不好看,折腾了好几天,今天这个问题终于搞定了,代码发出来分享!

[b]ASP 过滤HTML函数代码:[/b]
[code]<%'过滤HTML代码
Function ClearHTML(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
ClearHTML=strHTML
Set objRegExp = Nothing
End Function
%>[/code]
[b]用法:[/b]
[code]Response.write ClearHTML(Rs("text"))[/code]
[code]<%=left(CleanHTML(rs("text")),70)%>[/code]

显示的时候,回车、等都会被当着空格对待,而且多个连续的空格只显示一个空格。

如果要原样显示,你可以增加个PRE代码,例如:

[code]Response.write "<pre>"&ClearHTML(Rs("text"))&"</pre>"[/code]


下面还有在别的地方看到的相关文章,不过感觉没这个好用,有些地方还不太明白!

[quote]-------------------去掉html js css

[code]Function delHtml(strHtml)Dim objRegExp, strOutput
Set objRegExp = New Regexp '' 建立正则表达式

objRegExp.IgnoreCase = True '' 设置是否区分大小写
objRegExp.Global = True ''是匹配所有字符串还是只是第一个
objRegExp.Pattern = "(<[a-zA-Z].*?>)|(<[\/][a-zA-Z].*?>)" '' 设置模式引号中的是正则表达式,用来找出html标签

strOutput = objRegExp.Replace(strHtml, "") ''将html标签去掉
strOutput = Replace(strOutput, "<", "<") ''防止非html标签不显示
strOutput = Replace(strOutput, ">", ">")
delHtml = strOutput

Set objRegExp = Nothing
End Function[/code]

''srt1是你要去除html代码字符串,可以其它任何地方读取过来。
str1 = "正</3>在转到 ... ..."
''应用函数
Response.Write(delHtml(str1))

---------------------Asp完全过滤Html代码

[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 [/code]
[/quote]

分享:

扫一扫在手机阅读、分享本文

请发表您的评论