如何过滤中国站长站(chianz)文章干扰码(2)
来源:asp之家 时间:2008-01-04 20:14:00
下面讲一下具体的实现方法:
显然要过滤掉这些规律的干扰码我们必须请可爱的正则表达式出马,让它来帮忙打扫打扫。这里大家如果对正则表达式不是很了解可以先阅读:《正则表达式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
总结
好了,两种方法介绍完毕了,可能你已经发现了,使用这种方法有一个缺点,就是会过滤掉所有的正则表达式中匹配的字符,而这些字符也许并不都是干扰码。 所以我这个方法并不完美。
不过在过滤干扰码之前我们只要先看看文章源代码,看看是否有其他正常的文字可能被清理,如果有修改一下就可以了。有什么问题欢迎讨论!
标签:干扰码,中国站长站,正则表达式,javascript
0
投稿
猜你喜欢
用PyInstaller把Python代码打包成单个独立的exe可执行文件
2022-12-02 09:15:11
艺术和设计之间的差别
2010-11-17 19:28:00
mysql数据库远程访问设置方法
2024-01-14 11:25:34
python ansible服务及剧本编写
2022-11-18 02:51:20
如何在python中判断变量的类型
2022-05-03 03:35:06
将python文件打包exe独立运行程序方法详解
2021-07-03 02:26:41
浅谈对pytroch中torch.autograd.backward的思考
2023-10-28 13:21:44
使用python检查yaml配置文件是否符合要求
2021-06-23 05:27:53
用C语言操作MySQL数据库的通用方法
2024-01-12 17:22:45
Python一行代码快速实现程序进度条示例
2022-07-07 07:22:26
浏览器中的内存泄露
2008-05-03 16:53:00
深入解析JavaScript中的arguments对象
2024-05-09 14:50:44
php+js实现倒计时功能
2023-11-12 17:16:29
详解Mysql双机热备和负载均衡的实现步骤
2024-01-15 09:00:50
Python命名空间的本质和加载顺序
2022-06-30 20:56:21
Python中遍历列表的方法总结
2023-11-01 19:11:11
Python变量格式化输出实现原理解析
2023-02-12 23:13:51
如何用Python对数学函数进行求值、求偏导
2023-10-13 04:58:01
浅谈Vue3 defineComponent有什么作用
2024-05-05 09:25:03
python 读取txt,json和hdf5文件的实例
2022-02-18 10:43:34