当前位置:编程学习 > asp >>

asp中过滤掉html代码

方法一

<%
Function RemoveHTML(strHTML)    '过滤HTML代码的函数包括过滤CSS和JS

StrHtml = Replace(StrHtml,vbCrLf,"")
StrHtml = Replace(StrHtml,Chr(13)&Chr(10),"")
StrHtml = Replace(StrHtml,Chr(13),"")
StrHtml = Replace(StrHtml,Chr(10),"")
StrHtml = Replace(StrHtml," ","")
StrHtml = Replace(StrHtml,"    ","")

Dim objRegExp, Match, Matches  
Set objRegExp = New Regexp
  
objRegExp.IgnoreCase = True
objRegExp.Global = True

'取闭合的<>
objRegExp.Pattern = "<style(.+?)/style>"
'进行匹配
Set Matches = objRegExp.Execute(strHTML)
  
' 遍历匹配集合,并替换掉匹配的项目
For Each Match in Matches  
strHtml=Replace(strHTML,Match.Value,"")
Next

  '取闭合的<>
objRegExp.Pattern = "<script(.+?)/script>"
'进行匹配
Set Matches = objRegExp.Execute(strHTML)
  
' 遍历匹配集合,并替换掉匹配的项目
For Each Match in Matches  
strHtml=Replace(strHTML,Match.Value,"")
Next

  '取闭合的<>
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
%>

方法二

Public Function ReplaceHTML(Textstr)
   
Dim sStr, regEx
    sStr = Textstr
    Set regEx = New RegExp
    regEx.IgnoreCase = True
   
regEx.Global = True
   
regEx.Multiline = True
   
regEx.Pattern = "<script[\s\S]*?</script>"
   
sStr = regEx.Replace(sStr, "")
   
regEx.Pattern = "<style[\s\S]*?</style>"
   
sStr = regEx.Replace(sStr, "")
   
regEx.Pattern = "\s[on].+?=([\""|\'])(.*?)\1"
   
sStr = regEx.Replace(sStr, "")
   
regEx.Pattern = "<(.[^>]*)>"
   
sStr = regEx.Replace(sStr, "")
   
Set regEx = Nothing
   
ReplaceHTML = sStr
End Function
%>

补充:asp教程,高级应用 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,