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标签
过滤div标签是为了避免页面错位的问题,可以使用以下代码:
{dede:trim}]*)>{/dede:trim} {dede:trim} {/dede:trim}
同样的方法也可以应用于其他HTML标签,例如script、style等:
{dede:trim}]*)>([^<]*){/dede:trim}
4. 使用万能过滤代码
DedeCMS提供了一系列万能过滤代码,可以应对不同的需求,以下是一些常用的正则表达式标签:
功能 | |||
{dede:trim}{/dede:trim}
| 过滤table中的tbody结束标签 | ||
{dede:trim} | 过滤整个table结束标签 | ||
{dede:trim} | 过滤table中的tr结束标签 | ||
{dede:trim} | |||
{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} | 过滤embed标签 | ||
{dede:trim} | 过滤object标签 | ||
{dede:trim} | 过滤iframe标签 | ||
{dede:trim} | 过滤form表单 | ||
{dede:trim}{/dede:trim} | 过滤input输入框 | ||
{dede:trim}
|