当前位置:首页 > 行业动态 > 正文

如何有效设置Dedecms的采集过滤规则以实现万能过滤?

在dedecms中,万能采集过滤代码和常用过滤规则可以帮助你更精确地获取目标数据。这些代码通常用于过滤掉不需要的信息,如广告、版权信息等。具体的过滤规则需要根据你要采集的网站结构来定制。

在dedecms(织梦内容管理系统)中,采集过滤规则是确保数据质量和网站整洁的重要工具,通过这些规则可以有效去除不需要的内容,如广告、链接和多余的标签等,以下是一些常用的dedecms采集过滤规则和万能采集过滤代码,帮助用户高效管理采集内容:

如何有效设置Dedecms的采集过滤规则以实现万能过滤?  第1张

dedecms常用采集过滤规则

过滤目标 过滤代码示例 说明
去除超链接 {dede:trim replace=''}]*)>{/dede:trim} 去除所有链接标签及其内容
去除JS广告 {dede:trim replace=''}]*)>(.*){/dede:trim} 移除脚本广告代码
过滤div标签 {dede:trim replace=''} {/dede:trim} 防止版面错位,清理无用的div标签
替换指定词语 {dede:trim replace='替换后的词语'}要替换的词语{/dede:trim} 将特定词汇替换为预设文本
过滤标题空格 {dede:trim} {/dede:trim} 清除标题中的空格
来源作者中连接的过滤 {dede:trim}]*)>([^<]*){/dede:trim} 保留链接文字,删除链接功能
过滤文章内容中的广告代码 {dede:trim}]*)>([^>]*){/dede:trim} 清理iframe框架内的广告内容

常见问题解答(FAQs)

Q1: 如何设置dedecms采集规则以自动去除所有超链接?

A1: 在dedecms后台,进入“采集管理”模块,选择相应的采集节点进行编辑,在“其他设置”选项卡中,找到“替换规则”部分,添加以下过滤代码:{dede:trim replace=''}<a([^>]*)>{/dede:trim},这将自动去除所有超链接及其内容。

Q2: 如果我只想替换文章中的某个特定词语,而不是完全删除它,应该如何操作?

A2: 同样在“采集管理”模块下的“替换规则”部分,你可以使用如下格式的代码:{dede:trim replace='替换后的词语'}要替换的词语{/dede:trim},这样,系统会自动将“要替换的词语”替换为“替换后的词语”,而不会影响文章的其他部分。

通过合理设置和应用这些过滤规则,可以大大提升采集内容的质量和网站的用户体验。

Dedecms 采集过滤规则 万能采集过滤代码及常用过滤

1. 万能采集过滤代码

在DedeCMS中,采集过滤规则是通过编辑inc/config_base.php 文件中的$_cfg['filter']['rules'] 来实现的,以下是一个万能的采集过滤代码示例:

$_cfg['filter']['rules'] = array(
    // 过滤图片
    '/<img.*src="(.*?)".*?>/is' => '<img src="$1" />',
    
    // 过滤视频
    '/<embed.*src="(.*?)".*?>/is' => '<embed src="$1" />',
    
    // 过滤Flash
    '/<object.*data="(.*?)".*?>/is' => '<object data="$1" />',
    
    // 过滤音频
    '/<audio.*src="(.*?)".*?>/is' => '<audio src="$1" />',
    
    // 过滤JavaScript
    '/<script.*src="(.*?)".*?>/is' => '',
    
    // 过滤CSS
    '/<link.*href="(.*?)".*?>/is' => '',
    
    // 过滤其他脚本标签
    '/<script.*?src.*?>.*?</script>/is' => '',
    '/<style.*?src.*?>.*?</style>/is' => '',
    
    // 过滤HTML标签
    '/<[^>]*>/is' => '',
    
    // 过滤HTML属性
    '/s+onw+=".*?"/is' => '',
    '/s+/is' => '',
    '/s+/is' => '',
    '/s+id=".*?"/is' => '',
    '/s+title=".*?"/is' => '',
    
    // 过滤特殊字符
    '/&nbsp;|&amp;|&quot;|&lt;|&gt;|&apos;|&amp;nbsp;|&amp;quot;|&amp;lt;|&amp;gt;|&amp;apos;/is' => ' ',
);

2. 常用过滤规则

以下是一些常用的采集过滤规则:

过滤HTML标签:移除HTML标签,保留文本内容。

“`php

‘/<[^>]*>/is’ => ”,

“`

过滤JavaScript和CSS:移除JavaScript和CSS代码。

“`php

‘/<script.*?src.*?>.*?</script>/is’ => ”,

‘/<style.*?src.*?>.*?</style>/is’ => ”,

“`

过滤特殊字符:将HTML实体转换为普通字符。

“`php

‘/&nbsp;|&amp;|&quot;|&lt;|&gt;|&apos;|&amp;nbsp;|&amp;quot;|&amp;lt;|&amp;gt;|&amp;apos;/is’ => ‘ ‘,

“`

过滤广告链接:移除页面中的广告链接。

“`php

‘/<a.*href="(http://.*?.ad..*?)".*?>/is’ => ”,

“`

过滤图片尺寸属性:移除图片的宽度和高度属性。

“`php

‘/width="(.*?)"/is’ => ”,

‘/height="(.*?)"/is’ => ”,

“`

代码仅供参考,实际使用时需要根据具体情况进行调整,在使用过滤规则时,务必确保不会误伤到需要保留的内容。

0