asp 過濾html代碼程式

來源:互聯網
上載者:User

Function TransferHTML(ByVal source,para)

 Dim objRegExp

 '先換"&"
 If Instr(para,"[&]")>0 Then  source=Replace(source,"&","&")
 If Instr(para,"[<]")>0 Then  source=Replace(source,"<","&lt;")
 If Instr(para,"[>]")>0 Then  source=Replace(source,">","&gt;")
 If Instr(para,"[""]")>0 Then source=Replace(source,"""","&quot;")
 If Instr(para,"[space]")>0 Then source=Replace(source," ","&nbsp;")
 If Instr(para,"[enter]")>0 Then
  source=Replace(source,vbCrLf,"<br/>")
  source=Replace(source,vbLf,"<br/>")
 End If
 If Instr(para,"[vbCrlf]")>0 Then

  Set objRegExp=New RegExp
  objRegExp.IgnoreCase =True
  objRegExp.Global=True

  objRegExp.Pattern="((</?form[^n<]*>)|(<select[^n<]*>)|(<textarea[^n<]*>)|(</?option[^n<]*>)|(</?dl[^n<]*>)|(</?dt[^n<]*>)|(</?dd[^n<]*>)|(</?th[^n<]*>)|(</?tr[^n<]*>)|(</?td[^n<]*>)|(</?tbody[^n<]*>)|(</?table[^n<]*>)|(</?hr[^n<]*>)|(</?div[^n<]*>)|(</?ul[^n<]*>)|(</?li[^n<]*>)|(</?ol[^n<]*>)|(</?h1[^n<]*>)|(</?h2[^n<]*>)|(</?h3[^n<]*>)|(</?h4[^n<]*>)|(</?h5[^n<]*>)|(</?h6[^n<]*>)|(</?p[^n<]*>))(x20*(rn|n))"

  source= objRegExp.Replace(source,"$1")

  objRegExp.Pattern="(rn|n)"
  source= objRegExp.Replace(source,"<br/>")

  source=Replace(source,"<html>","")
  source=Replace(source,"</html>","")
  source=Replace(source,"<body>","")
  source=Replace(source,"</body>","")

 End If
 If Instr(para,"[vbTab]")>0 Then source=Replace(source,vbTab,"&nbsp;&nbsp;")
 If Instr(para,"[no-asp]")>0 Then
  source=Replace(source,"<"&"%","&lt;"&"%")
  source=Replace(source,"%"&">","%"&"&gt;")
 End If
 If Instr(para,"[nofollow]")>0 Then
  source=Replace(source,"<a ","<a rel=""nofollow"" ")
 End If
 If Instr(para,"[nohtml]")>0  Then
  Set objRegExp=New RegExp
  objRegExp.IgnoreCase =True
  objRegExp.Global=True
  objRegExp.Pattern="<[^>]*>"
  source= objRegExp.Replace(source,"")
 End If
 If Instr(para,"[filename]")>0  Then
  source=Replace(source,"/","")
  source=Replace(source,"","")
  source=Replace(source,":","")
  source=Replace(source,"?","")
  source=Replace(source,"*","")
  source=Replace(source,"""","")
  source=Replace(source,"<","")
  source=Replace(source,">","")
  source=Replace(source,"|","")
  source=Replace(source," ","")
 End If
 If Instr(para,"[normalname]")>0  Then
  source=Replace(source,"$","")
  source=Replace(source,"(","")
  source=Replace(source,")","")
  source=Replace(source,"*","")
  source=Replace(source,"+","")
  source=Replace(source,",","")
  source=Replace(source,"[","")
  source=Replace(source,"]","")
  source=Replace(source,"{","")
  source=Replace(source,"}","")
  source=Replace(source,"?","")
  source=Replace(source,"","")
  source=Replace(source,"^","")
  source=Replace(source,"|","")
  source=Replace(source,":","")
  source=Replace(source,"""","")
  source=Replace(source,"'","")
 End If
 If Instr(para,"[textarea]")>0 Then
  source=Replace(source,"&","&amp;")
  source=Replace(source,"%","&#037;")
  source=Replace(source,"<","&lt;")
  source=Replace(source,">","&gt;")
 End If
 If Instr(para,"[html-format]")>0 Then
  source=Replace(source,"&","&amp;")
  source=Replace(source,"<","&lt;")
  source=Replace(source,">","&gt;")
  source=Replace(source,"""","&quot;")
 End If
 If Instr(para,"[anti-html-format]")>0 Then
  source=Replace(source,"&quot;","""")
  source=Replace(source,"&lt;","<")
  source=Replace(source,"&gt;",">")
  source=Replace(source,"&amp;","&")
 End If
 If Instr(para,"[wapnohtml]")>0 Then
  source=Replace(source,"<br/>",vbCrLf)
  source=Replace(source,"<br>",vbCrLf)
  Set objRegExp=New RegExp
  objRegExp.IgnoreCase =True
  objRegExp.Global=True
  objRegExp.Pattern="(<[^>]*)|([^<]*>)"
  source= objRegExp.Replace(source,"")
  objRegExp.Pattern="(rn|n)"
  source= objRegExp.Replace(source,"<br/>")
 End If
 If Instr(para,"[nbsp-br]")>0 Then
  Set objRegExp=New RegExp
  objRegExp.IgnoreCase =True
  objRegExp.Global=True
  objRegExp.Pattern="&lt;$|&lt;b$|&lt;br$|&lt;br/$"
  source= objRegExp.Replace(source,"")
  objRegExp.Pattern="^br/&gt;|^r/&gt;|^/&gt;|^&gt;"
  source= objRegExp.Replace(source,"")
  objRegExp.Pattern="&lt;br/&gt;"
  source= objRegExp.Replace(source,"<br/>")
  objRegExp.Pattern="&amp;nbsp;"
  source= objRegExp.Replace(source," ")
 End If
 If Instr(para,"[closehtml]")>0 Then
  source=closeHTML(source)
 End If


 TransferHTML=source

End Function

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.