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.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))
%>

(0)

相关推荐

  • ASP.NET使用正则表达式屏蔽垃圾信息

    Regex 类 表示不可变的正则表达式. 命名空间:System.Text.RegularExpressions Regex 类包含若干 static(在 Visual Basic 中为 Shared)方法,使您无需显式创建 Regex 对象即可使用正 则表达式.在 .NET Framework 2.0 版中,将缓存通过调用静态方法而编译的正则表达式,而不会缓存通过调 用实例方法而编译的正则表达式.默认情况下,正则表达式引擎将缓存 15 个最近使用的静态正则表达式.因 此,在过度地依赖一组固定的

  • asp 使用正则表达式替换word中的标签,转为纯文本

    公司客户在使用网站后台编辑添加修改内容时,经常是直接从word文档里复制内容到编辑器里后就提交.结果是在内容显示页面上是五花八门的样式,有时也需要部分纯文本内容作为摘录使用,这些都需要清除word格式.改变客户的习惯要客户先复制到记事本里再粘贴到编辑器里编辑是很难的,所以从我们自己改变起.从网上百度了若干清除word格式的正则,使用效果不甚理想,所以自己写了清除word格式的asp函数,能满足我们自己的使用需求.函数如下: 复制代码 代码如下: function cleanWord(html)

  • asp的RegExp对象正则表达式功能用法[比较全]

    RegExp对象提供简单的正则表达式支持功能. RegExp对象的用法: 复制代码 代码如下: Function RegExpTest(patrn, strng) Dim regEx, Match, Matches ' 建立变量. Set regEx = New RegExp ' 建立正则表达式. regEx.Pattern = patrn ' 设置模式. regEx.IgnoreCase = True ' 设置是否区分字符大小写. regEx.Global = True ' 设置全局可用性.

  • asp.net正则表达式删除指定的HTML标签的代码

    如果全盘删除里面的 HTML 标签,可能会造成阅读上的困难(比如 a, img 这些标签), 最好是删除一部分,保留一部分. 正则表达式里,判断 包含某些字符串 是非常容易理解的,但是如何判断 不包含某些字符串 (是字符串,不是字符,是某些,不是某个) 确实是个费解的事. 复制代码 代码如下: <(?!((/?\s?li)|(/?\s?ul)|(/?\s?a)|(/?\s?img)|(/?\s?br)|(/?\s?span)|(/?\s?b)))[^>]+> 这个正则是判断HTML标签不

  • ASP正则表达式清除HTML指定标签的方法

    在HTML编辑器发布过程中,会出现一些自动生成的HTML标签,或者在留言板程序应用过程中,也会出现有人恶意写入一些HTML代码的情况,所以怎么精准的过滤掉某些特定的属性标签和参数呢?下面是代码: <% Function ReplaceText(fString,patrn,replStr) Set regEx = New RegExp ' 建立正则表达式. regEx.Pattern = patrn ' 设置模式. regEx.IgnoreCase = True ' 设置是否区分大小写. regE

  • asp正则表达式使用详解

    复制代码 代码如下: Dim re Set re = new RegExp '创建RegExp实例 re.Pattern = "ab+c" '定义正则表达式文字,你可以在这里替换正则表达式 Dim myString myString = "abcefg" '定义要匹配的字符串,可以进行替换 Response.write(re.Execute(myString)(0)) '进行匹配测试,并写出结果 复制代码 代码如下: <% Dim re Set re = ne

  • HTML标签及ASP函数速查表

    HTML文件标记  <html>  <head>  <!-->  <title>  <body> 文字排版标记  <br/>  <nobr>  <p>  <pre>            原始文字样式  <center>  <blockquote>     向内缩排  <h>              标题  <strong>,<b>   

  • ASP正则表达式技巧

    复制代码 代码如下: <% str = request("str") reg = request("reg") set regex = new RegExp With regex .Pattern = reg .IgnoreCase = False .Global = True End With Set match = regex.Execute(str) If match.Count > 0 Then For Each matched in match

  • ASP 正则表达式常用的几种方法(execute、test、replace)

    RegExp就是建立正则的对像. 如: Set regEx = New RegExp regEx.Pattern 就是来设置正则的模式的, 如: regEx.Pattern ="/d+" regEx.IgnoreCase = True ' 设置是否区分大小写 regEx.Global = True ' 设置全程可用性. RegExp对像有3种方法,分别是execute.test.replace. test方法是对指定的字符串执行一个正则表达式搜索,并返回一个 Boolean 值指示是否

  • asp自动补全html标签自动闭合(正则表达式)

    复制代码 代码如下: Function closeHTML(strContent) Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match Set re = New RegExp re.IgnoreCase = True re.Global = True arrTags = Array("p", "div", "span", "table", "ul&qu

  • 正则表达式速查表(ASP.NET)

    出处:RegExLib.com Regular Expression Cheat Sheet (.NET) 元字符 说明 ^ 匹配字符串的开始位置 $ 匹配字符串的结束位置 . 匹配任意单个字符(换行符 \n 除外) | 交替 {-} 指定要限定的数量 [...] 指定要匹配的字符集 (-) 对表达式进行逻辑分组 * 匹配零或多个前面的表达式 + 匹配一或多个前面的表达式 ? 匹配零或一个前面的表达式 \ 放在上面任何一个字符之前,表示匹配该字符本身.放在其他特殊字符后面,表示字符转义(见下面)

  • ASP中过滤UBB和Html标签

    我们存储在数据库中的内容是HTML格式的,但是有时候我们需要无格式的显示这内容,这是用正则表达式实现的过滤. 复制代码 代码如下: <% function nohtml(str)  dim re  Set re=new RegExp  re.IgnoreCase =true  re.Global=True  re.Pattern="(\<.[^\<]*\>)"  str=re.replace(str," ")  re.Pattern=&quo

随机推荐