找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1524|回复: 0

[分享] 织梦dedecms采集中用到的一些过滤规则

[复制链接]
发表于 2018-7-14 15:23:03 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
dedecms的过滤规则写起来不是很难,规则如下:

代码示例:
{dede:trim}要过滤的内容{/dede:trim}

如果要过滤的内容很简单,完全可以把过滤规则直接写在“{dede:trim}”和“{/dede:trim}”之间。
对于比较复杂的情况,请考虑使用正则,你懂的,正则表达式,那是相当强劲的。
以下是一些过滤规则的例子,供大家参考。
1、采集中去除内容里的超链接:

代码示例:
{dede:trim}<a([^>]*)>{/dede:trim}
{dede:trim}</a>{/dede:trim}

假如要将所有超链接内容都去除,规则是:

代码示例:
{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}

这两个规则的不同通过下面代码来解释
例如文章代码中包含着如下内容:
<a href="#">超链接</a>
通过第一个规则,采集结果是:超链接
2、过滤广告
对于广告来说,过滤规则就得针对html中看到的内容使用规则了,例如某些广告仅仅是引用某个JS文件,例如

代码示例:
<script src=’/plus/ad_js.php?aid=4′ language=’javascript’></script>

这样的规则只需

代码示例:
{dede:trim}<script(.*)>{/dede:trim}
{dede:trim}</script>{/dede:trim}

如果某些广告的内容是JS代码写在<script></script>区间里的,例如GG的广告,那么过滤规则应该是:

代码示例:
{dede:trim}<script>(.*)</script>{/dede:trim}
3、一些测试过的过滤规则

代码示例:
  1. {dede:trim}<!–(.*)–>{/dede:trim}
  2. {dede:trim}<select([^>]*)>([^>]*)</select>{/dede:trim}
  3. {dede:trim}<option([^>]*)>([^>]*)</option>{/dede:trim}
  4. {dede:trim}<select([^>]*)>{/dede:trim}
  5. {dede:trim}</select>{/dede:trim}
  6. {dede:trim}<param([^>]*)>{/dede:trim}
  7. {dede:trim}<embed([^>]*)>([^>]*)</embed>{/dede:trim}
  8. {dede:trim}<embed([^>]*)>{/dede:trim}
  9. {dede:trim}</embed>{/dede:trim}
  10. {dede:trim}<object([^>]*)>([^>]*)</object>{/dede:trim}
  11. {dede:trim}<object([^>]*)>{/dede:trim}
  12. {dede:trim}</object>{/dede:trim}
  13. {dede:trim}<OBJECT([^>]*)>([^>]*)</OBJECT>{/dede:trim}
  14. {dede:trim}<OBJECT([^>]*)>{/dede:trim}
  15. {dede:trim}</OBJECT>{/dede:trim}
  16. {dede:trim}<iframe([^>]*)>([^>]*)</iframe>{/dede:trim}
  17. {dede:trim}<iframe([^>]*)>{/dede:trim}
  18. //by bbs.piaoxian.net//
  19. {dede:trim}</iframe>{/dede:trim}
  20. {dede:trim}<IFRAME([^>]*)>([^>]*)</IFRAME>{/dede:trim}
  21. {dede:trim}<IFRAME([^>]*)>{/dede:trim}
  22. {dede:trim}</IFRAME>{/dede:trim}
  23. {dede:trim}<font([^>]*)>([^<]*)</font>{/dede:trim}
  24. {dede:trim}<font([^>]*)>{/dede:trim}
  25. {dede:trim}</font>{/dede:trim}
  26. {dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}
  27. {dede:trim}<a([^>]*)>{/dede:trim}
  28. {dede:trim}</a>{/dede:trim}
  29. {dede:trim}<td([^>]*)>([^>]*)</td>{/dede:trim}
  30. {dede:trim}<td([^>]*)>{/dede:trim}
  31. {dede:trim}</td>{/dede:trim}
  32. {dede:trim}<tr([^>]*)>([^>]*)</tr>{/dede:trim}
  33. {dede:trim}<tr([^>]*)>{/dede:trim}
  34. {dede:trim}</tr>{/dede:trim}
  35. {dede:trim}<tbody([^>]*)>([^>]*)</tbody>{/dede:trim}
  36. {dede:trim}<tbody>{/dede:trim}
  37. {dede:trim}</tbody>{/dede:trim} // 内容来自bbs.piaoxian.net//
  38. {dede:trim}<table([^>]*)>([^>]*)</table>{/dede:trim}
  39. {dede:trim}<table([^>]*)>{/dede:trim}
  40. {dede:trim}</table>{/dede:trim}
  41. {dede:trim}<span([^>]*)>{/dede:trim}
  42. {dede:trim}</span>{/dede:trim}
  43. {dede:trim}</IFRAME>{/dede:trim}
  44. {dede:trim}<script>(.*)</script>{/dede:trim}
  45. {dede:trim}<script(.*)>{/dede:trim}
  46. {dede:trim}</script>{/dede:trim} // 本文
复制代码

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-22 22:25 , Processed in 0.043663 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表