• 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.phphttps://www.rdredcross.org.cn/
      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}https://www.rdredcross.org.cn/
      {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}

  • 相关阅读:
    【Canal源码分析】Canal Instance启动和停止
    【Canal源码分析】Canal Server的启动和停止过程
    【Canal源码分析】parser工作过程
    【源码分析】Canal之Binlog的寻找过程
    otter代码在IDEA远程DEBUG方法
    【源码】otter工程结构
    一个Java程序员的2018年展望与2017年总结
    【源码解析】Sharding-Jdbc的执行过程(一)
    IntelliJ IDEA 调试 Apache RocketMQ 源码
    [源码分析]HashSet 和LinkedHashSet
  • 原文地址:https://www.cnblogs.com/zqw111/p/13030287.html
Copyright © 2020-2023  润新知