ENIX.DQ 發表於 2013-11-12 10:00:25

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

CLASSIC ASP超級鏈接和HTML函數正則表達式 修正版
避免連結失效,備份資料內容

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


過濾超級鏈接
Function RegRemoveHref(HTMLstr)
Set ra = New RegExp
ra.IgnoreCase = True
ra.Global = True
ra.Pattern = "<A[^>]+>(.+?)<\/A>"
RegRemoveHref = ra.replace(HTMLstr,"$1")
END Function
過濾所有HTML代碼
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
End Function
過濾所有HTML代碼 和空格換行
Function RemoveHTML(strHTML)
Dim objRegExp, Match, Matches
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "<.+?>"
'objRegExp.Pattern = "(\r|\n|\r\n| |\t| )"
Set Matches = objRegExp.Execute(strHTML)
For Each Match in Matches
strHtml=Replace(strHTML,Match.Value,"")
Next
objRegExp.Pattern = "(\r|\n|\r\n| |\t| )"
Set Matches = objRegExp.Execute(strHTML)
For Each Match in Matches
strHtml=Replace(strHTML,Match.Value,"")
Next
RemoveHTML=strHTML
Set objRegExp = Nothing
End Function
asp使用正則表達式去除script代碼和HTML代碼
一、清楚內容中的Javsscript 代碼 這個代碼的作用是去掉用<script </script>標記包含的所有部分。
根據實際需要,它也許不能滿足要求。如果用在屏蔽客戶提交代碼的地方,應保証這一步在最後執行。
很多人還會拼湊這樣的標記,應小心。
Function ClearJSCode(originCode)
Dim reg
set reg = New RegExp
reg.Pattern = "<SCRIPT[^<]*</SCRIPT>"
reg.IgnoreCase = True
reg.Global = True
clearJSCode = reg.Replace(originCode, "")
End Function
二、清除內容中的HTML代碼
Function ClearHTMLCode(originCode)
Dim reg
set reg = new RegExp
reg.Pattern = "<[^>]*>"
reg.IgnoreCase = True
reg.Global = True
ClearHTMLCode = reg.Replace(originCode, "")
End Function
<js jsid="1" jsname="去除內容頁里干擾信息"><![CDATA[
var sourcehtml=function(){/*%s*/}.toString().slice(13, -3);
parser9527=function()
{
var ss=sourcehtml;
ss=ss.replace(/<.*?>/ig,"");
ss=ss.replace(/(\r|\n|\r\n| |\t| )/ig,"");
ss=ss.replace(/(<\/a>)/ig,"");
ss=ss.replace(/<a((.|\n)*?)>/ig,"");
ss=ss.replace("_網易新聞中心","");
/*
ss=ss.replace(/<iframe((.|\n)*?)<\/iframe>/ig,"");
ss=ss.replace(/<script((.|\n)*?)<\/script>/ig,"");
ss=ss.replace(/<address((.|\n)*?)<\/address>/ig,"");
ss=ss.replace(/(<\/a>)/ig,"");
ss=ss.replace(/<a((.|\n)*?)>/ig,"");
ss=ss.replace(/<SELECT((.|\n)*?)<\/SELECT>/ig,"");
ss=ss.replace(/<TABLE((.|\n)*?)<\/TABLE>/ig,"");
ss=ss.replace(/<img((.|\n)*?)>/ig,"");
ss=ss.replace(/<TABLE((.|\n)*?)>/ig,"");
ss=ss.replace(/(<\/TABLE>)/ig,"");
ss=ss.replace(/<TR((.|\n)*?)>/ig,"<BR>");
ss=ss.replace(/(<\/TR>)/ig,"");
ss=ss.replace(/<nobr((.|\n)*?)>/ig,"<BR>");
ss=ss.replace(/<nobr((.|\n)*?)>/ig,"");
ss=ss.replace(/(<\/nobr>)/ig,"");
ss=ss.replace(/<TD((.|\n)*?)>/ig," ");
ss=ss.replace(/(<\/TD>)/ig,"");
ss=ss.replace(/<span id=((.|\n)*?)<\/small>/ig,"");
ss=ss.replace(/<div((.|\n)*?)>/ig,"");
ss=ss.replace(/(<\/div>)/ig,"");
*/
return ss;
}
parser9527();
]]></js>
ASP常用的正則過濾函數 可過濾html js style div font
開發程序,經常要用到正則表達式進行過濾一些不需要的東西,比如html js style div font,有時候需要過濾極個別的,有時候需要過濾好幾種,不管怎麼過濾,萬變不離其宗。
這是我收藏的一些過濾函數,可以用來過濾您不需要的代碼。如果需要過濾多種,可以嵌套使用,也可以自己整合代碼。不過不建議嵌套使用,因為那樣效率太低。
Asp 正則表達式 過濾 所有 html 標記 :
Function LoseHtml(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "<\/*[^<>]*>"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
LoseHtml = ClsTempLoseStr
End function


Asp 正則表達式 過濾 style 標記 :
regEx.Pattern = "(<style)+[^<>]*>[^\0]*(<\/style>)+"
Asp 正則表達式 過濾 層 div 標記 :
regEx.Pattern = "<(\/){0,1}div[^<>]*>"
Asp 正則表達式 過濾 鏈接 a 標記 :
regEx.Pattern = "<(\/){0,1}a[^<>]*>"
Asp 正則表達式 過濾 字體 font 標記 :
regEx.Pattern = "<(\/){0,1}font[^<>]*>"
Asp 正則表達式 過濾 span 標記 :
regEx.Pattern = "<(\/){0,1}span[^<>]*>"
Asp 正則表達式 過濾 object 標記 :
regEx.Pattern = "<object.*?/object>"
Asp 正則表達式 過濾 iframe 標記:
regEx.Pattern = "(<iframe){1,}[^<>]*>[^\0]*(<\/iframe>){1,}"
Asp 正則表達式 過濾 script :
regEx.Pattern = "(<script){1,}[^<>]*>[^\0]*(<\/script>){1,}"
Asp 正則表達式 過濾 Class 標記 :
regEx.Pattern = "(class=){1,}(""|\'){0,1}\S+(""|\'|>|\s){0,1}"
字符串替換 Replace 的正則表達式 :
<%
Function ReplaceReg(str,patrn,replStr,Ignor)
'=========================================
'參數解釋:
'str 原來的字符串
'patrn 要替換的字符串(正則表達式)
'replStr 要替換成的字符串
'Ignor 是否區分大小寫(1不區分,0區分)
'=========================================
Dim regEx ' 建立變量。
If Ingor=1 Then Ingor=true else Ingor=false
Set regEx = New RegExp ' 建立正則表達式。
regEx.Pattern = patrn ' 設置模式。
regEx.IgnoreCase = Ignor ' 設置是否區分大小寫。
regEx.Global=True
ReplaceReg = regEx.Replace(str,replStr) ' 作替換。
End Function
'例如 將 www.xxx.com 替換成 <a href=""></a>
Response.Write(ReplaceReg("腳本之家www.xxx.com","www\.xxx\.com","<a href=""""></a>",1))
%>
頁: [1]
查看完整版本: CLASSIC ASP超級鏈接和HTML函數正則表達式 修正版[備份]