首页 > 技术支撑 > 织梦学习

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}
  

感谢 会员:虎哥 分享文章,亦感谢文章原作者为我们提供如此优秀信息,如果此信息对您有帮助,请购买正版以支持作者!
---------------------------
此信息仅供个人学习、研究免费使用,禁止非法转播。
免责申明:本信息由 会员:虎哥 搜集整理发布,版权归原作者及发布者所有,您如有异议请 举报 或者 版权申诉
六出奇e站内部资源仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!
六出奇e站内部资源不提供任何保证,并不承担任何法律责任。
如果该信息对您的版权或者利益造成损害,请提供相应的资质证明提交 版权投诉,我们将于3个工作日内予以处理。
六出奇e站内部资源采用 BY-NC-SA 协议进行授权 转载请注明原文链接:
DedeCMS采集教程:过滤替换的技巧 http://www.lcqez.com/news/69.html

嘿,我来帮您!

找不到需要的信息?请给我们留言

注意:本需求仅接收资源需求信息。
系统自动过滤不符合要求的信息!

其他信息请提交 站内信息 给技术客服!