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

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

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

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+style=".*?"/is' => '',
    '/s+class=".*?"/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代码。

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

“`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’ => ”,

“`

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

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1129137.html

(0)
未希的头像未希新媒体运营
上一篇 2024-10-02 16:39
下一篇 2024-10-02 16:40

相关推荐

  • 如何实现Dede二次开发以每分钟自动审核文章并更新首页内容?

    dede二次开发实现每分钟审核一篇文章并生成首页,可以通过编写定时任务脚本,结合dede的审核api和生成首页api来实现。具体步骤包括:1. 编写定时任务脚本;2. 调用dede审核api;3. 调用生成首页api。

    2024-09-05
    021
  • 如何在Dedecms中使用pagebreak标签来控制分页的数量?

    Dedecms中的pagebreak标签用于分页,但无法直接控制分页的数量。分页数量取决于文章内容和页面设置。

    2024-10-05
    05
  • 如何自定义DedeCMS注册邮件的发送内容?

    要修改DedeCMS注册邮件发送通知内容,你需要找到并编辑相应的模板文件,然后替换成你想要的内容。具体步骤如下:,,1. 登录到你的DedeCMS后台管理界面。,2. 导航到”系统设置” ˃ “邮件设置”。,3. 在”邮件设置”页面中,找到”注册邮件发送通知内容”一栏。,4. 点击”编辑”按钮,进入编辑模式。,5. 在编辑模式下,你可以修改邮件的主题、正文等内容。根据你的需求进行相应的修改。,6. 完成修改后,点击”保存”按钮,保存你的更改。,,当有用户在你的网站上注册时,他们将收到你自定义的邮件通知内容。

    2024-10-20
    06
  • 如何在DedeCMS中高效设置栏目以提升网站结构?

    DedeCMS的栏目设置是指在后台管理系统中,对网站的各个栏目进行添加、编辑、删除和排序等操作。通过栏目设置,可以自定义网站的导航结构,为每个栏目分配不同的内容类型和模板,实现网站内容的分类管理和展示。

    2024-08-28
    019

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

免费注册
电话联系

400-880-8834

产品咨询
产品咨询
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入