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

softyun3年前cms教程120


DedeCMS采集教程:过滤替换的技巧
根据我个人织梦dedecms采集过程总结了一些经验,写出来供大家参考。
1.采集去除链接

[Copy to clipboard]CODE: 
 
{dede:trim}]*)>([^<]*){/dede:trim} 
 
-------------------------------- 
 
让field:title 标题突破30这个长度,修改代码的方法 
 
找到./include/inc_arcpart_view.php 
 
行291 : 
 
if($titlelen=="") $titlelen = 30; 
 
修改为 
 
if($titlelen=="") $titlelen = 60; 
 
就可以了,然后,你可以这样调用了 
 
{dede:channelArtlist typeid='0' col=1 tablewidth='100%'} 
 
{dede:arclist row="10"} 
 
[field:title function="cn_substr('@me',38)" /] 
 
{/dede:arclist} 
 
{/dede:channelArtlist} 
 
把这个延伸一下:关于inc_arcpart_view.php 
 
function GetArcList($typeid=0,$row=10,$col=1,$titlelen=30,$infolen=160, 
 
$imgwidth=120,$imgheight=90,$listtype="all",$orderby="default",$keyword="", 
 
$innertext="",$tablewidth="100",$arcid=0,$idlist="") 
这里的参数都可以更改你实际需要的模板元素尺寸大小.

2. 采集过虑中去掉链接保留文字的方法!

柏老大的方法是{dede:trim}<a ([^>]*)>([^<]*)</a>{/dede:trim}

这样做会去掉<a hf.......>与</a>之间的字符!这样整个文章就少了部分字符,不完整了!

后来我多次测试,总算找到了正确的使用方法!如下:

{dede:trim}<a([^>]*)>{/dede:trim} 
 
{dede:trim}</a>{/dede:trim} 
 
做成两条采集规则就可以了! 
 
在实际使用中好像([^<]*)([^>]*)两条一起使用才行! 
3. 过滤div

{dede:trim}]*)>{/dede:trim} 
 
{dede:trim} 
 
{/dede:trim} 
 
过滤js 
 
{dede:trim}]*)>([^<]*){/dede:trim} 
 
过滤未知变量字符 
 
固定(.*)固定 
4.dede万能过滤代码

以下是常用的正则表达式标签

{dede:trim}<tbody(.*)>{/dede:trim} 
 
{dede:trim}</tbody>{/dede:trim} 
 
{dede:trim}<table(.*)>{/dede:trim} 
 
{dede:trim}</table>{/dede:trim} 
 
{dede:trim}<tr(.*)>{/dede:trim} 
 
{dede:trim}</tr>{/dede:trim} 
 
{dede:trim}<td(.*)>{/dede:trim} 
 
{dede:trim}</td>{/dede:trim} 
 
{dede:trim}<font(.*)>{/dede:trim} 
 
{dede:trim}</font>{/dede:trim} 
 
{dede:trim}<a(.*)>{/dede:trim} 
 
{dede:trim}</a>{/dede:trim} 
 
{dede:trim}<param(.*)>{/dede:trim} 
 
{dede:trim}<embed(.*)</embed>{/dede:trim} 
 
{dede:trim}<object(.*)</object>{/dede:trim} 
 
{dede:trim}<iframe(.*)</iframe>{/dede:trim} 
 
{dede:trim}<form(.*)</form>{/dede:trim} 
 
{dede:trim}<input(.*)>{/dede:trim} 
 
{dede:trim}<script(.*)</script>{/dede:trim} 
 
{dede:trim}<style(.*)</style>{/dede:trim} 
 
{dede:trim}<!--(.*)-->{/dede:trim} 
 
以下为不常用的正则表达式标签 
 
{dede:trim}<div(.*)>{/dede:trim} 
 
{dede:trim}</div>{/dede:trim} 
 
{dede:trim}<center(.*)>{/dede:trim} 
 
{dede:trim}</center>{/dede:trim} 
 
{dede:trim}<p(.*)>{/dede:trim} 
 
{dede:trim}</p>{/dede:trim} 
 
{dede:trim}<span(.*)>{dede:trim} 
 
{dede:trim}</span>{dede:trim} 
 
{dede:trim}<img(.*)>{/dede:trim} 
以上内容仅供大家学习参考,希望对你有所帮助。

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

教你实现DEDECMS织梦自动锚文本

教你实现DEDECMS织梦自动锚文本我们知道锚文本对于网站优化是很有用处的,那么织梦DEDECMS可以实现这一功能吗答案是肯定的。      下面分享一个很简单的办法来实现自动添加锚文本。首先,把后台...

织梦DEDECMS问答系统、留言本、会员空间导航支持标签调用

不少朋友需要在织梦DedeCms的问答系统、留言本、会员空间导航里调用系统标签,但默认是不支持系统标签调用的,需要对系统文件进行简单的修改。两个步骤教你一下,希望对你有所帮助。第一步:打开"/incl...

Dede5.3解决封面模板不能显示副栏目内容的问题

问题是这样的:已经开启了副分类和子栏目功能,但是在封面模板中却始终无法显示副栏目的内容,尤其是子类里面选择的副栏目。经过一番查找终于解决了,修改文件/include/taglib/arclist.li...

DedeCms教程:Ubuntu/Debian上安装 PHP 5.3, Nginx 和 PHP-fpm

  尽管Apache已经占据半片江山,但很多人仍然在寻找其他的方式去托管他们的站点,Apache不只是一个选择,其他很多优秀的服务器程序例如lighthttp和nginx也是不错的选择。本教程将要...

PhpCms模块管理:评论管理

一、模块配置 位置:模块管理---评论管理--模块配置模块说明:二、添加财务 位置:模块管理---评论管理--管理评论 ...

织梦实现分类搜索内容的功能(下拉搜索)

我们都知道在使用织梦dedecms二次开发的时候,搜索只有标题搜索和模糊搜索,那么怎样才能实现按照栏目进行分类搜索呢?我们想搜哪个栏目下的就搜哪个栏目下的数据。其实很简单下面就是操作代码,替换掉原来的...