如何实现在织梦dedecms中高效过滤采集内容?

织梦dedecms采集过滤万能代码如下:,,“php,function filter($content) {, $content = str_replace("{#}", "", $content);, $content = preg_replace("/]*>/", "", $content);, $content = strip_tags($content);, $content = trim(stripslashes($content));, return $content;,},

织梦dedecms采集过滤万能代码

在织梦CMS(DedeCMS)中,采集内容时常常需要对一些不必要的代码进行过滤,例如广告、链接等,本文将详细介绍如何利用织梦CMS的内置标签和正则表达式来设置万能的过滤代码,确保采集到的内容更加纯净和有效,以下是具体内容:

过滤常见HTML标签

1、超链接

保留文字内容:如果希望仅去除超链接标签而保留其内部的文字内容,可以使用以下代码:

“`dede

{dede:trim}<a([^>]*)>{/dede:trim}

{dede:trim}</a>{/dede:trim}

“`

去除所有内容:如果希望完全去除超链接及其内部的所有内容,可以采用以下代码:

“`dede

{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}

“`

2、脚本调用

过滤JavaScript广告:为了过滤掉网页中的JavaScript广告代码,可以使用以下代码:

“`dede

{dede:trim}<script([^>]*)>([^<]*)</script>{/dede:trim}

“`

3、DIV标签

过滤DIV标签:如果希望去除DIV标签及其内部的所有内容,可以使用以下代码:

“`dede

{dede:trim}<div([^>]*)>([^<]*)</div>{/dede:trim}

“`

仅去除DIV标签:如果只希望去除DIV标签而不删除其内部内容,可以使用以下代码:

“`dede

{dede:trim}<div([^>]*)>{/dede:trim}

{dede:trim}</div>{/dede:trim}

“`

其他常用过滤规则

1、过滤摘要和关键字

去除摘要和关键字:如果希望去除文章中的摘要和关键字标签,可以使用以下代码:

“`dede

如何实现在织梦dedecms中高效过滤采集内容?

{dede:trim}{/dede:trim}

“`

2、简单替换

替换特定词语:如果需要将文章中的某些词语替换为其他词语,可以使用以下代码:

“`dede

{dede:trim replace=’替换后的词语’}要替换的词语{/dede:trim}

“`

高级应用

1、长度限制

长度限制:如果默认的标题长度限制不够用,可以通过修改include/inc_arcpart_view.php文件来增加标题的长度限制,例如将标题长度从30增加到60:

“`php

if($titlelen=="") $titlelen = 60; // 修改这里的数值即可调整标题长度

“`

2、综合过滤示例

综合应用多个过滤规则:在实际应用中,可能需要综合使用多种过滤规则来达到最佳效果,同时过滤超链接、脚本和DIV标签:

“`dede

{dede:trim}<a([^>]*)>{/dede:trim}

{dede:trim}</a>{/dede:trim}

{dede:trim}<script([^>]*)>([^<]*)</script>{/dede:trim}

{dede:trim}<div([^>]*)>([^<]*)</div>{/dede:trim}

“`

表格展示

过滤类型 过滤代码 说明
超链接 {dede:trim}]*)>{/dede:trim} 去除链接标签,保留文字
超链接 {dede:trim}]*)>([^<]*){/dede:trim} 去除链接及其内容
JavaScript广告 {dede:trim}]*)>([^<]*){/dede:trim} 过滤JavaScript广告
DIV标签 {dede:trim}

]*)>([^<]*)

{/dede:trim}

去除DIV及其内容
标题空格{dede:trim} {/dede:trim} 去除标题中的空格
替换特定词语{dede:trim replace='替换后的词语'}要替换的词语{/dede:trim} 替换特定词语

常见问题解答FAQs

1. 问:为什么采集后的文章版面会错位?

答:版面错位通常是由于未彻底过滤掉DIV标签及其内部内容导致的,建议使用如下代码彻底过滤DIV标签及其内容:

{dede:trim}<div([^>]*)>([^<]*)</div>{/dede:trim}

2. 问:如何保留链接中的文字内容但去除链接标签?

答:可以使用以下代码来实现这一目标:

{dede:trim}<a([^>]*)>{/dede:trim}
{dede:trim}</a>{/dede:trim}

这样,链接标签会被去除,但其中的文本内容会被保留。

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

(0)
未希的头像未希新媒体运营
上一篇 2024-09-28
下一篇 2024-09-28

发表回复

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

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入