• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    DedeCMS采集教程:过滤替换的技巧
    POST TIME:2020-03-28 16:59

    上一篇我们讲了一些采集过滤规则的应用实例,今天根据我个人采集过程总结了一些经验,写出来供大家参考。

      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}
      
      /////////////////////////////////////
      
      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) 

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!