DQ NO.1 - dragon quest fans club

 找回密碼
 加入成為夥伴
搜索
熱搜: 活動 交友 discuz
查看: 4860|回復: 0

[ASP] CLASSIC ASP超級鏈接和HTML函數正則表達式 修正版[備份]

[複製鏈接]
發表於 2013-11-12 10:00:25 | 顯示全部樓層 |閱讀模式
CLASSIC ASP超級鏈接和HTML函數正則表達式 修正版
避免連結失效,備份資料內容

原始連結:http://www.loliman3000.com/tech/2fe165ecb260e54edd191247.php


  1. 過濾超級鏈接
  2. Function RegRemoveHref(HTMLstr)
  3. Set ra = New RegExp
  4. ra.IgnoreCase = True
  5. ra.Global = True
  6. ra.Pattern = "<A[^>]+>(.+?)<\/A>"
  7. RegRemoveHref = ra.replace(HTMLstr,"$1")
  8. END Function
  9. 過濾所有HTML代碼
  10. Function RemoveHTML(strHTML)
  11. Dim objRegExp, Match, Matches
  12. Set objRegExp = New Regexp
  13. objRegExp.IgnoreCase = True
  14. objRegExp.Global = True
  15. '取閉合的<>
  16. objRegExp.Pattern = "<.+?>"
  17. '進行匹配
  18. Set Matches = objRegExp.Execute(strHTML)
  19. ' 遍歷匹配集合,並替換掉匹配的項目
  20. For Each Match in Matches
  21. strHtml=Replace(strHTML,Match.Value,"")
  22. Next
  23. RemoveHTML=strHTML
  24. Set objRegExp = Nothing
  25. End Function
  26. 過濾所有HTML代碼 和空格換行
  27. Function RemoveHTML(strHTML)
  28. Dim objRegExp, Match, Matches
  29. Set objRegExp = New Regexp
  30. objRegExp.IgnoreCase = True
  31. objRegExp.Global = True
  32. objRegExp.Pattern = "<.+?>"
  33. 'objRegExp.Pattern = "(\r|\n|\r\n| |\t| )"
  34. Set Matches = objRegExp.Execute(strHTML)
  35. For Each Match in Matches
  36. strHtml=Replace(strHTML,Match.Value,"")
  37. Next
  38. objRegExp.Pattern = "(\r|\n|\r\n| |\t| )"
  39. Set Matches = objRegExp.Execute(strHTML)
  40. For Each Match in Matches
  41. strHtml=Replace(strHTML,Match.Value,"")
  42. Next
  43. RemoveHTML=strHTML
  44. Set objRegExp = Nothing
  45. End Function
  46. asp使用正則表達式去除script代碼和HTML代碼
  47. 一、清楚內容中的Javsscript 代碼 這個代碼的作用是去掉用<script </script>標記包含的所有部分。
  48. 根據實際需要,它也許不能滿足要求。如果用在屏蔽客戶提交代碼的地方,應保証這一步在最後執行。
  49. 很多人還會拼湊這樣的標記,應小心。
  50. Function ClearJSCode(originCode)
  51. Dim reg
  52. set reg = New RegExp
  53. reg.Pattern = "<SCRIPT[^<]*</SCRIPT>"
  54. reg.IgnoreCase = True
  55. reg.Global = True
  56. clearJSCode = reg.Replace(originCode, "")
  57. End Function
  58. 二、清除內容中的HTML代碼
  59. Function ClearHTMLCode(originCode)
  60. Dim reg
  61. set reg = new RegExp
  62. reg.Pattern = "<[^>]*>"
  63. reg.IgnoreCase = True
  64. reg.Global = True
  65. ClearHTMLCode = reg.Replace(originCode, "")
  66. End Function
  67. <js jsid="1" jsname="去除內容頁里干擾信息"><![CDATA[
  68. var sourcehtml=function(){/*%s*/}.toString().slice(13, -3);
  69. parser9527=function()
  70. {
  71. var ss=sourcehtml;
  72. ss=ss.replace(/<.*?>/ig,"");
  73. ss=ss.replace(/(\r|\n|\r\n| |\t| )/ig,"");
  74. ss=ss.replace(/(<\/a>)/ig,"");
  75. ss=ss.replace(/<a((.|\n)*?)>/ig,"");
  76. ss=ss.replace("_網易新聞中心","");
  77. /*
  78. ss=ss.replace(/<iframe((.|\n)*?)<\/iframe>/ig,"");
  79. ss=ss.replace(/<script((.|\n)*?)<\/script>/ig,"");
  80. ss=ss.replace(/<address((.|\n)*?)<\/address>/ig,"");
  81. ss=ss.replace(/(<\/a>)/ig,"");
  82. ss=ss.replace(/<a((.|\n)*?)>/ig,"");
  83. ss=ss.replace(/<SELECT((.|\n)*?)<\/SELECT>/ig,"");
  84. ss=ss.replace(/<TABLE((.|\n)*?)<\/TABLE>/ig,"");
  85. ss=ss.replace(/<img((.|\n)*?)>/ig,"");
  86. ss=ss.replace(/<TABLE((.|\n)*?)>/ig,"");
  87. ss=ss.replace(/(<\/TABLE>)/ig,"");
  88. ss=ss.replace(/<TR((.|\n)*?)>/ig,"<BR>");
  89. ss=ss.replace(/(<\/TR>)/ig,"");
  90. ss=ss.replace(/<nobr((.|\n)*?)>/ig,"<BR>");
  91. ss=ss.replace(/<nobr((.|\n)*?)>/ig,"");
  92. ss=ss.replace(/(<\/nobr>)/ig,"");
  93. ss=ss.replace(/<TD((.|\n)*?)>/ig," ");
  94. ss=ss.replace(/(<\/TD>)/ig,"");
  95. ss=ss.replace(/<span id=((.|\n)*?)<\/small>/ig,"");
  96. ss=ss.replace(/<div((.|\n)*?)>/ig,"");
  97. ss=ss.replace(/(<\/div>)/ig,"");
  98. */
  99. return ss;
  100. }
  101. parser9527();
  102. ]]></js>
  103. ASP常用的正則過濾函數 可過濾html js style div font
  104. 開發程序,經常要用到正則表達式進行過濾一些不需要的東西,比如html js style div font,有時候需要過濾極個別的,有時候需要過濾好幾種,不管怎麼過濾,萬變不離其宗。
  105. 這是我收藏的一些過濾函數,可以用來過濾您不需要的代碼。如果需要過濾多種,可以嵌套使用,也可以自己整合代碼。不過不建議嵌套使用,因為那樣效率太低。
  106. Asp 正則表達式 過濾 所有 html 標記 :
  107. Function LoseHtml(ContentStr)
  108. Dim ClsTempLoseStr,regEx
  109. ClsTempLoseStr = Cstr(ContentStr)
  110. Set regEx = New RegExp
  111. regEx.Pattern = "<\/*[^<>]*>"
  112. regEx.IgnoreCase = True
  113. regEx.Global = True
  114. ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
  115. LoseHtml = ClsTempLoseStr
  116. End function


  117. Asp 正則表達式 過濾 style 標記 :
  118. regEx.Pattern = "(<style)+[^<>]*>[^\0]*(<\/style>)+"
  119. Asp 正則表達式 過濾 層 div 標記 :
  120. regEx.Pattern = "<(\/){0,1}div[^<>]*>"
  121. Asp 正則表達式 過濾 鏈接 a 標記 :
  122. regEx.Pattern = "<(\/){0,1}a[^<>]*>"
  123. Asp 正則表達式 過濾 字體 font 標記 :
  124. regEx.Pattern = "<(\/){0,1}font[^<>]*>"
  125. Asp 正則表達式 過濾 span 標記 :
  126. regEx.Pattern = "<(\/){0,1}span[^<>]*>"
  127. Asp 正則表達式 過濾 object 標記 :
  128. regEx.Pattern = "<object.*?/object>"
  129. Asp 正則表達式 過濾 iframe 標記:
  130. regEx.Pattern = "(<iframe){1,}[^<>]*>[^\0]*(<\/iframe>){1,}"
  131. Asp 正則表達式 過濾 script :
  132. regEx.Pattern = "(<script){1,}[^<>]*>[^\0]*(<\/script>){1,}"
  133. Asp 正則表達式 過濾 Class 標記 :
  134. regEx.Pattern = "(class=){1,}(""|\'){0,1}\S+(""|\'|>|\s){0,1}"
  135. 字符串替換 Replace 的正則表達式 :
  136. <%
  137. Function ReplaceReg(str,patrn,replStr,Ignor)
  138. '=========================================
  139. '參數解釋:
  140. 'str 原來的字符串
  141. 'patrn 要替換的字符串(正則表達式)
  142. 'replStr 要替換成的字符串
  143. 'Ignor 是否區分大小寫(1不區分,0區分)
  144. '=========================================
  145. Dim regEx ' 建立變量。
  146. If Ingor=1 Then Ingor=true else Ingor=false
  147. Set regEx = New RegExp ' 建立正則表達式。
  148. regEx.Pattern = patrn ' 設置模式。
  149. regEx.IgnoreCase = Ignor ' 設置是否區分大小寫。
  150. regEx.Global=True
  151. ReplaceReg = regEx.Replace(str,replStr) ' 作替換。
  152. End Function
  153. '例如 將 www.xxx.com 替換成 <a href=""></a>
  154. Response.Write(ReplaceReg("腳本之家www.xxx.com","www\.xxx\.com","<a href=""""></a>",1))
  155. %>
複製代碼
您需要登錄後才可以回帖 登錄 | 加入成為夥伴

本版積分規則

Archiver|手機版|ぱふぱふ屋|DQ NO.1

GMT+8, 2024-4-26 19:03 , Processed in 0.027370 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回復 返回頂部 返回列表