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]
[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 = "
''应用函数
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]
请发表您的评论