首页 > 编程 > Regex > 正文

ASP超级链接和HTML函数正则表达式 修正版

2020-03-16 21:14:02
字体:
来源:转载
供稿:网友
ASP超级链接和HTML函数 正则表达式的使用,最后一个实例经过测试。
 
 
过滤超级链接 
复制代码代码如下:

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="http://www.vevb.com">www.vevb.com</a> 
Response.Write(ReplaceReg("武林网www.xxx.com","www/.xxx/.com","<a href=""http://www.vevb.com"">www.vevb.com</a>",1)) 
%>
 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表