织梦dedecms采集中用到的一些过滤规则

2016-01-10dedecms教程
1225

dedecms的过滤规则写起来不是很难,规则如下:
 

代码示例:
{wmd:trim}要过滤的内容{/wmd:trim}


如果要过滤的内容很简单,完全可以把过滤规则直接写在“{wmd:trim}”和“{/wmd:trim}”之间。
对于比较复杂的情况,请考虑使用正则,你懂的,正则表达式,那是相当强劲的。

以下是一些过滤规则的例子,供大家参考。

1、采集中去除内容里的超链接:
 

代码示例:
{wmd:trim}<a([^>]*)>{/wmd:trim}
{wmd:trim}</a>{/wmd:trim}


假如要将所有超链接内容都去除,规则是:
 

代码示例:
{wmd:trim}<a([^>]*)>([^<]*)</a>{/wmd:trim}


这两个规则的不同通过下面代码来解释
例如文章代码中包含着如下内容:
<a href="#">超链接</a>
通过第一个规则,采集结果是:超链接

2、过滤广告
对于广告来说,过滤规则就得针对html中看到的内容使用规则了,例如某些广告仅仅是引用某个JS文件,例如
 

代码示例:
<script src=’/plus/ad_js.php?aid=4′ language=’javascript’></script>


这样的规则只需
 

代码示例:
{wmd:trim}<script(.*)>{/wmd:trim}
{wmd:trim}</script>{/wmd:trim}


如果某些广告的内容是JS代码写在<script></script>区间里的,例如GG的广告,那么过滤规则应该是:
 

代码示例:
{wmd:trim}<script>(.*)</script>{/wmd:trim}

3、一些测试过的过滤规则
 

代码示例:

{wmd:trim}<!–(.*)–>{/wmd:trim}
{wmd:trim}<select([^>]*)>([^>]*)</select>{/wmd:trim}
{wmd:trim}<option([^>]*)>([^>]*)</option>{/wmd:trim}
{wmd:trim}<select([^>]*)>{/wmd:trim}
{wmd:trim}</select>{/wmd:trim}
{wmd:trim}<param([^>]*)>{/wmd:trim}
{wmd:trim}<embed([^>]*)>([^>]*)</embed>{/wmd:trim}
{wmd:trim}<embed([^>]*)>{/wmd:trim}
{wmd:trim}</embed>{/wmd:trim}
{wmd:trim}<object([^>]*)>([^>]*)</object>{/wmd:trim}
{wmd:trim}<object([^>]*)>{/wmd:trim}
{wmd:trim}</object>{/wmd:trim}
{wmd:trim}<OBJECT([^>]*)>([^>]*)</OBJECT>{/wmd:trim}
{wmd:trim}<OBJECT([^>]*)>{/wmd:trim}
{wmd:trim}</OBJECT>{/wmd:trim}
{wmd:trim}<iframe([^>]*)>([^>]*)</iframe>{/wmd:trim}
{wmd:trim}<iframe([^>]*)>{/wmd:trim}

//by www.jbxue.com//
{wmd:trim}</iframe>{/wmd:trim}
{wmd:trim}<IFRAME([^>]*)>([^>]*)</IFRAME>{/wmd:trim}
{wmd:trim}<IFRAME([^>]*)>{/wmd:trim}
{wmd:trim}</IFRAME>{/wmd:trim}
{wmd:trim}<font([^>]*)>([^<]*)</font>{/wmd:trim}
{wmd:trim}<font([^>]*)>{/wmd:trim}
{wmd:trim}</font>{/wmd:trim}
{wmd:trim}<a([^>]*)>([^<]*)</a>{/wmd:trim}
{wmd:trim}<a([^>]*)>{/wmd:trim}
{wmd:trim}</a>{/wmd:trim}
{wmd:trim}<td([^>]*)>([^>]*)</td>{/wmd:trim}
{wmd:trim}<td([^>]*)>{/wmd:trim}
{wmd:trim}</td>{/wmd:trim}
{wmd:trim}<tr([^>]*)>([^>]*)</tr>{/wmd:trim}
{wmd:trim}<tr([^>]*)>{/wmd:trim}
{wmd:trim}</tr>{/wmd:trim}
{wmd:trim}<tbody([^>]*)>([^>]*)</tbody>{/wmd:trim}
{wmd:trim}<tbody>{/wmd:trim}
{wmd:trim}</tbody>{/wmd:trim} // 内容来自www.jbxue.com//
{wmd:trim}<table([^>]*)>([^>]*)</table>{/wmd:trim}
{wmd:trim}<table([^>]*)>{/wmd:trim}
{wmd:trim}</table>{/wmd:trim}
{wmd:trim}<span([^>]*)>{/wmd:trim}
{wmd:trim}</span>{/wmd:trim}
{wmd:trim}</IFRAME>{/wmd:trim}
{wmd:trim}<script>(.*)</script>{/wmd:trim}
{wmd:trim}<script(.*)>{/wmd:trim}
{wmd:trim}</script>{/wmd:trim} // 本文

The End

相关推荐

dedecms怎么做判断?怎么在一个标签中输入另外一个标签?
我们在使用织梦DedeCMS系统程序开发网站中,经常遇到需要对文章标题进行字数限制,通常做法是在a标签中加入一个title属性,让鼠标放上去的时候显示完整标题。但是标题被剪裁掉一些字符而不完整,下面跟版网的小编就为你推荐另外几种标题调用方式,如进行标题...
2025-07-05 dedecms教程
69

织梦内容页使用if判断某个字段是否为空
我们在使用织梦dedecms时候,如何使用if判断某个字段是否为空呢?我们以文章页自定义字段website为例:使用if语句判断website网址是否为空,如果有显示website并加上网址,如果没有就不显示。 {wmd:field.website runphp='yes'}if(@me'') {@me = 'a href="'...
2025-06-21 dedecms教程
171

织梦datalist标签使用runphp无用该怎么办
我们在使用织梦dedecms的时候,发现{wmd:datalist} 标签中用 [field:array runphp=yes] 或者 {wmd:field name=array runphp=yes} 并不起作用,这个要怎么操作呢? 其实datalist中是不能用runphp标签的,但是可以用{wmd:if} 这个标签,而且相对于runphp更好...
2023-07-31 dedecms教程
150

织梦DEDECMS后台文件管理器、模板文件、缩略图排序修改
我们都知道DEDECMS生成的文件夹是按天生成的,只要传了图片就会自动建立个年月日的文件,centos系统下,都是随便排序的,很难找到对应文件夹,如果要按顺序排列,要怎么操作呢? 一、文件管理器: 修改 /dede/templets/file_manage_main.html $dh = dir($inp...
2022-06-06 dedecms教程
208

dedecms软件模型手动指定地址增加选取本地文件方法
我们在用到织梦dedecms软件模型的时候,手动指定地址通常只能是引用其他网址或者链接,我们要实现直接选取站内的文件,这个要怎么操作呢?下面小编一步步为您解答,最终效果如下图所示: 实现教程 1、打开 /dede/templets/soft_add.htm 找到 input type=text...
2022-05-11 dedecms教程
144

织梦dedecms后台系统基本参数中增加logo上传功能
用过dedecms的朋友都知道,织梦cms后台系统基本参数里是无法直接上传图片的,我们更换logo图只能到ftp里替换,非常的不方便,我们如果想直接在系统基本参数里上传,要怎么处理呢?在这里需要对代码进行修改,具体流程如下: 实现方法,打开/dede/templets/sy...
2022-04-22 dedecms教程
212