当前位置: 首页 > 图文教程 > 网络编程 > 正则表达式 > ASP超级链接和HTML函数正则表达式 修正版

正则表达式
RegExp对象的方法和属性
asp正则过滤重复字符串的代码
用Javascript正则实现url链接的解析类
正则表达式匹配 非XXX的行
正则表达式不包含属性
ASP正则函数替换分页后的参数
asp match正则函数使用Matchs实例
java正则表达式彻底研究
比较实用的正则表达式学习笔记
asp只采集网站可见文本的正则
asp.net常用正则表达式
js验证email的正则
java正则表达式验证函数
java 字符串匹配函数
js取得参数代码
Further Study of Rugular Expresions
正则表达式之全部符号对照表
正则文本框只能输入正整数
正则表达式在线测试工具
正则表达式提取网址、标题、图片等一例(.Net Asp Javascript/Js)的实现

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 137 ::
收藏到网摘: n/a

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.ruanchen.com">www.ruanchen.com</a>
Response.Write(ReplaceReg("软晨学习网www.xxx.com","www\.xxx\.com","<a href=""http://www.ruanchen.com"">www.ruanchen.com</a>",1))
%>