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

为大家介绍一些在织梦dedecms采集文章时用到的一些过滤规则,内容很不错,有需要的朋友,可以参考下。

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

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


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

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

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

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


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

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


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

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

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


这样的规则只需
 

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


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

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

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

代码示例:

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

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

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

我们都知道DEDECMS生成的文件夹是按天生成的,只要传了图片就会自动建立个年月日的文件,centos系统下,都是随便排序的,很难找到对应文件夹,如果要按顺序排列,要怎么操作呢? 一、文件管理器: 修改 /dede/templets/file_manage_main.html $dh = dir($inp
用过dedecms的朋友都知道,织梦cms后台系统基本参数里是无法直接上传图片的,我们更换logo图只能到ftp里替换,非常的不方便,我们如果想直接在系统基本参数里上传,要怎么处理呢?在这里需要对代码进行修改,具体流程如下: 实现方法,打开/dede/templets/sy
dedecms要想调用所有子栏目是没有这个标签的,要调用只可用sql标签,reid表示子栏目,channeltype=6表示模型为商品,sortrank表示按排序升序.小的放前面 {dede:sql sql=Select * from `dede_arctype` where reid0 and channeltype=6 ORDER BY sortrank limit 15}
织梦dedecms的系统在上传附件后,会将文件自动改名字,那怎么样才能让附件上传后不自动改名字呢,让附件上传后不自动改名字(中文名的附件将会改成拼音文件名称),现在说一下方法吧: 我们打开网站目录下include\dialog\select_soft_post.php文件 一、找到以
1、在织梦文件中找到/plus/diy.php文件,顶部加上跨域请求代码: header(Access-Control-Allow-Origin:*); //支持全域名访问,不安全,部署后需要固定限制为客户端网址 header(Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE); //支持的http 动作 he
假如后台会员模型企业模型,增加一个营业执照的图片字段zhizhao,在会员中心上传图片后, 点击图片没法选择. 这是织梦的bug,因为form表单的name值不对应.谷歌浏览器f12,会提示Uncaught TypeError: Cannot read property zhizhao of undefined 这个错误 解决办法