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}
  
  /////////////////////////////////////
  
  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 栏目文章文章命名规则修改, 每次添加栏目的时候 都要改文章命名规则,十分麻烦, 修改下面这个地方就可以一改永亦,织梦模板网为您解答 找到\include\common.inc.php 搜索 $cfg_df_namerule 把: $cfg_df_namerule = {typedir}/{Y}/{M}{D}/{aid
摘要:织梦文章命名规则{cc} 日期+ID混编后用转换为适合的字母有时我们要适配或者伪静态时需要拿到真实的文章id,所以要把{cc}用ord()系统函数把字母还原回来 织梦文章命名规则{cc} 日期+ID混编后用转换为适合的字母 有时我们要适配或者伪静态时需要拿到真实
过滤与替换常用操作:点击常用规则,选择要过滤的代码段,再编辑成我们需要的。 如果会文章简单采集了,接下来就需要过滤掉采集内容中的广告和链接及其它代码。一般的写法是{dede:trim}要过滤的内容{/dede:trim} ,举几个例子: 1,去除超链接,这种最常用。
我们在使用dedecms织梦程序做网站的时候,经常都会用到自定义表单。因为织梦默认的自定义表单是没有 没有对提交的信息进行过滤,经常会有垃圾信息骚扰。此方法非常好用,分享给有需要的朋友! 这里提供2条检测规则,是利用正则方法,可以检测手机号码和邮箱
今天分析下织梦dede模板目录规则替换函数MfTemplet MfTemplet函数代码:(这个函数在helplers助手channelunit.helper.php里面) /** * 模板目录规则 * * @param string $tmpdir 模板目录 * @return string */ function MfTemplet($tmpdir) { $tmpdir = str_r
dedecms网站管理系统 的强大功能不用多说了,使用dedecms的站长免不了要网站文章和列表命名按照自己的要求进行修改,默认增加栏目的文章和列表目录规则如: {typedir}/{Y}/{M}{D}/{aid}.$cfg_df_ext。{typedir}/list_{tid}_{page}.html。 如果站长要修改的话