如何过滤中国站长站(chianz)文章干扰码(2)
来源:asp之家 发布时间:2008-01-04 20:14:00
标签:干扰码,中国站长站,正则表达式,javascript
下面讲一下具体的实现方法:
显然要过滤掉这些规律的干扰码我们必须请可爱的正则表达式出马,让它来帮忙打扫打扫。这里大家如果对正则表达式不是很了解可以先阅读:《正则表达式30分钟入门教程》
一、客户端javascript实现方法:
我们知道在添加编辑文章的后台,一般都是用在线编辑器。所以过滤干扰码就是过滤写在在线编辑器中的内容。
先设计一个过滤干扰码的按钮:
<input type="button" value="过滤干扰码" onclick="doclear()" >
点击按钮后就会执行doclear()函数来清除干扰码。
首先就是要用js代码取得文章的内容:
var aspxhome = EditorId.EditorContentId.document.body.innerHTML;
这里EditorId就是调用编辑器的框架页的id,EditorContentId就是编辑器中作为容器的页面id。
当然如果编辑器提供了一些便捷的调用函数,我们就可以直接使用。
function doclear(){
// 读取编辑器内容
var aspxhome = EditorId.EditorContentId.document.body.innerHTML;
//下面使用正则表达式过滤干扰代码,当然如果以后增加了新的干扰码方式,再相应的增加或修改一下代码即可。
aspxhome = aspxhome.replace(/(<DIV class=(.+?)>).+?<\/DIV>/ig, "") ;
aspxhome = aspxhome.replace(/(<SPAN class=(.+?)>).+?<\/SPAN>/ig, "") ;
aspxhome = aspxhome.replace(/(<P class=(.+?)>).+?<\/P>/ig, "") ;
aspxhome = aspxhome.replace(/(<FONT color=(.+?)>).+?<\/FONT>/ig, "") ;
//写过滤后的内容到编辑器中
EditorId.EditorContentId.document.body.innerHTML=aspxhome;
}
二、服务器端asp过滤方法:
服务器端获取文章内容就简单了,不罗嗦了!相关文章推荐:ASP中RegExp对象正则表达式语法及相关例子
代码如下:
strContent=request("content")'根据实际情况修改为文章内容
Set Are = New RegExp
Are.IgnoreCase = True
Are.Global = True
Are.Pattern = "(<div class=(.+?)<\/div>)"
strContent = Are.Replace(strContent, "")
Are.Pattern = "(<span class=(.+?)<\/span>)"
strContent = Are.Replace(strContent, "")
Are.Pattern = "(<p class=(.+?)<\/p>)"
strContent = Are.Replace(strContent, "")
Are.Pattern = "(<font color=(.+?)<\/font>)"
strContent = Are.Replace(strContent, "")
'程序运行到这里文章干扰码就过滤干净了
Set Are = Nothing
总结
好了,两种方法介绍完毕了,可能你已经发现了,使用这种方法有一个缺点,就是会过滤掉所有的正则表达式中匹配的字符,而这些字符也许并不都是干扰码。 所以我这个方法并不完美。
不过在过滤干扰码之前我们只要先看看文章源代码,看看是否有其他正常的文字可能被清理,如果有修改一下就可以了。有什么问题欢迎讨论!


猜你喜欢
- 我对定格动画非常喜爱,也曾经在大学毕业时期制作过一部个人定格动画MV.恰当给CDC博客写文之机,给大家介绍下定格动画,分享下这门独特的拍摄艺
- A 定义数组有两种方式:DIM和REDIM。DIM定义的是固定个数、数据类型的数组;而REDIM则不同,它可以定义不同类型的数据,也可以定义
- 概念django自带一套信号机制来帮助我们在框架的不同位置之间传递信息。也就是说,当某一事件发生时,信号系统可以允许一个或多个发送者(sen
- 本文采用OpenCV3和Python3 来实现静态图片的人脸识别,采用的是Haar文件级联。 首先需要将OpenCV3源代码中找到data文
- 这篇文章主要介绍了python有序查找算法 二分法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 一、上传表单的HTML代码 <form action="UpLoad.php" method="post
- 1.查看mysql上都有哪些库mysql> show databases \G***************************
- # _*_ coding:utf-8 _*_# name login_baidu.pyimport urllib,urllib2,httpl
- CSS的出现使网页制作者在对网页元素的控制方便许多,当然,有利必有弊,CSS只能对颜色、大小、距离等静
- centos下安装配置phpmyadmin,我花了二个晚上,郁闷的我不行,配置phpmyadmin简单吧,很简单,我刚工作的时候,就配置过,
- 异常的传递性在 Python 中,异常的传递性指的是,当一个异常没有被处理时,它会沿着调用栈向上抛出,直到被处理或者导致程序崩溃。具体来说,
- python里面可以将路径里面的\替换成/避免转义。os.walk方法可以将目标路径下文件的root,dirs,files提取出来。后面对每
- 本文实例为大家分享了Python函数式编程实现登录注册功能的具体代码,供大家参考,具体内容如下代码:def login(username,
- 本文实例讲述了JavaScript设计模式之模板方法模式原理与用法。分享给大家供大家参考,具体如下:一、模板方法模式:一种只需使用继承就可以
- Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形
- python 遍历字符串(含汉字)实例详解s = "中国china"for j in s: print j首
- 欣赏上一篇:用画为5.12地震受灾同胞们祈福 今年我们的祖国多灾多难 雪灾的阴影还没散去又发生了地震。中国插画 * 举办5.12地震祈幅绘画活
- 简介工作中偶尔会出现一个查询数据的需求,那就是需要按天统计近一个月或其它一段时间内每天的所有记录或者分组数据,没有数据则自动补0。一般情况下
- 当请求访问到某个视图时,我们想让它重定向到其他页面,应该怎么做呢?1.HttpResponseRedirect需求:当我们访问127.0.0
- 首先忠心感谢凌宇5942给我的帮助!在他的启迪下我发现了另一种实现flash透明背景的办法,愿与大家共同探讨:凌宇5942告知的解决办法:在