首页 > CMS > 织梦DEDE > 正文

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

2024-07-12 08:50:47
字体:
来源:转载
供稿:网友
这篇文章主要为大家详细介绍了DedeCMS采集教程:过滤替换的技巧,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。

今天根据我个人织梦dedecms采集过程总结了一些经验,写出来供大家参考。

  1.采集去除链接

  {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}

/////////////////////////////////////

  5.织梦标题不全,鼠标指向显示全部的代码:

  {dede:arclist titlelen='100'}

  [field:title function=' ( strlen("@me")>40 ? cn_substr("@me",40): "@me" ) '/]

  {/dede:arclist}

  6.dede/inc/inc_archives_functions.php第100行(flash频道远程flash本地化的BUG)

以上就是DedeCMS采集教程:过滤替换的技巧的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持武林网。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表