ASP超級連結和HTML函數Regex 修正版

來源:互聯網
上載者:User

過濾超級連結 複製代碼 代碼如下: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使用Regex去除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

開發程式,經常要用到Regex進行過濾一些不需要的東西,比如html js style div font,有時候需要過濾極個別的,有時候需要過濾好幾種,不管怎麼過濾,萬變不離其宗。
這是我收藏的一些過濾函數,可以用來過濾您不需要的代碼。如果需要過濾多種,可以嵌套使用,也可以自己整合代碼。不過不建議嵌套使用,因為那樣效率太低。

Asp Regex 過濾 所有 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 Regex 過濾 style 標記 :
regEx.Pattern = "(<style)+[^<>]*>[^\0]*(<\/style>)+"
Asp Regex 過濾 層 div 標記 :
regEx.Pattern = "<(\/){0,1}div[^<>]*>"
Asp Regex 過濾 連結 a 標記 :
regEx.Pattern = "<(\/){0,1}a[^<>]*>"
Asp Regex 過濾 字型 font 標記 :
regEx.Pattern = "<(\/){0,1}font[^<>]*>"
Asp Regex 過濾 span 標記 :
regEx.Pattern = "<(\/){0,1}span[^<>]*>"
Asp Regex 過濾 object 標記 :
regEx.Pattern = "<object.*?/object>"
Asp Regex 過濾 iframe 標記:
regEx.Pattern = "(<iframe){1,}[^<>]*>[^\0]*(<\/iframe>){1,}"
Asp Regex 過濾 script :
regEx.Pattern = "(<script){1,}[^<>]*>[^\0]*(<\/script>){1,}"
Asp Regex 過濾 Class 標記 :
regEx.Pattern = "(class=){1,}(""|\'){0,1}\S+(""|\'|>|\s){0,1}"

字串替換 Replace 的Regex : 複製代碼 代碼如下:<%
Function ReplaceReg(str,patrn,replStr,Ignor)
'=========================================
'參數解釋:
'str 原來的字串
'patrn 要替換的字串(Regex)
'replStr 要替換成的字串
'Ignor 是否區分大小寫(1不區分,0區分)
'=========================================
Dim regEx ' 建立變數。
If Ingor=1 Then Ingor=true else Ingor=false
Set regEx = New RegExp ' 建立Regex。
regEx.Pattern = patrn ' 設定模式。
regEx.IgnoreCase = Ignor ' 設定是否區分大小寫。
regEx.Global=True
ReplaceReg = regEx.Replace(str,replStr) ' 作替換。
End Function
'例如 將 www.xxx.com 替換成 <a href="http://www.jb51.net">www.jb51.net</a>
Response.Write(ReplaceReg("指令碼之家www.xxx.com","www\.xxx\.com","<a href=""http://www.jb51.net"">www.jb51.net</a>",1))
%>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.