如何精通DedeCMS采集中的过滤与替换技巧?

DedeCMS采集教程中,过滤替换的技巧包括使用正则表达式匹配特定内容,然后通过替换函数进行相应处理。

DedeCMS采集教程:过滤替换的技巧

如何精通DedeCMS采集中的过滤与替换技巧?

1. 采集去除链接

在DedeCMS中,可以使用正则表达式来去除超链接,以下是常用的代码示例:

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

这种方法可以去掉链接标签及其内容,但有时可能会影响文章的完整性,为了只去掉链接而保留文字,可以使用以下方法:

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

这两条规则分别用于去掉链接的开始和结束部分,从而只保留中间的文字内容。

2. 修改标题长度限制

DedeCMS默认的标题长度为30个字符,如果需要突破这个限制,可以修改inc_arcpart_view.php文件,找到该文件中的第291行:

if($titlelen=="") $titlelen = 30;

将其修改为:

if($titlelen=="") $titlelen = 60;

这样就可以将标题长度扩展到60个字符,可以在模板中使用如下调用方式:

{dede:channelArtlist typeid='0' col=1 tablewidth='100%'}
{dede:arclist row="10"}
[field:title function="cn_substr('@me',38)" /]
{/dede:arclist}
{/dede:channelArtlist}

3. 过滤div和其他HTML标签

如何精通DedeCMS采集中的过滤与替换技巧?

过滤div标签是为了避免页面错位的问题,可以使用以下代码:

{dede:trim}]*)>{/dede:trim}
{dede:trim}
{/dede:trim}

同样的方法也可以应用于其他HTML标签,例如script、style等:

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

4. 使用万能过滤代码

DedeCMS提供了一系列万能过滤代码,可以应对不同的需求,以下是一些常用的正则表达式标签:

{/dede:trim}

{/dede:trim}

{/dede:trim}

{/dede:trim}

{/dede:trim}

功能
{dede:trim}
过滤table中的tbody
{dede:trim}
过滤table中的tbody结束标签
{dede:trim}{/dede:trim}
过滤整个table
{dede:trim}

{/dede:trim}

过滤整个table结束标签
{dede:trim}
过滤table中的tr
{dede:trim}
过滤table中的tr结束标签
{dede:trim}{/dede:trim} 过滤table中的td
{dede:trim} 过滤table中的td结束标签
{dede:trim}{/dede:trim} 过滤字体样式
{dede:trim}{/dede:trim} 过滤字体样式结束标签
{dede:trim}{/dede:trim} 过滤超链接
{dede:trim}{/dede:trim} 过滤超链接结束标签
{dede:trim}{/dede:trim} 过滤object标签中的param
{dede:trim}{/dede:trim} 过滤object标签中的param结束标签
{dede:trim}{/dede:trim} 过滤embed标签
{dede:trim}{/dede:trim} 过滤object标签
{dede:trim} 过滤iframe标签
{dede:trim}

{/dede:trim}

过滤form表单
{dede:trim}{/dede:trim} 过滤input输入框
{dede:trim}
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入