纯代码实现自动替换WordPress评论内容中的敏感词

投稿  明月登楼的博客 2017-01-16 07:28 阅读 209 次 评论 26 条

玩 WordPress 博客的人都知道“和谐”的重要性,千辛万苦的建设、更新、维护一个博客有时候往往几个“不和谐”的关键词就可以让你的博客瞬间“毁灭”,所以说很多博主对“评论”也是严防死守,甚至采用了很偏激的五花八门的方式来“限制”和“人为制造评论障碍”来防范这些“不和谐”的评论(关于这方面明月其实已经在【说说博客评论的那些事儿】、【再说博客评论的那些事儿 分享防范“垃圾评论”经验】多次的讲到过了),明月其实一直都是喜欢使用 WordPress 自带的“评论关键词”屏蔽以及“评论黑名单”来隐性的防范,个人感觉这也是最佳方式,除了这两个方法外,其实还可以借助“代码”来使我们的评论更加的和谐,今天明月就分享一个【露兜博客】的『WordPress评论文字自动替换』代码,感觉这也是一种很不错的方法,很值得收藏备用的代码。

纯代码实现自动替换WordPress评论内容中的敏感词

如果你的 WordPress 博客是搭建在国内的主机上,那么你得注意一下你的网站内容了,必须接受国内相关机构的监管,如果你的网站如果出现了某某非法关键字,那么你的网站可能很快就要被关停了。当然这只是一方面,WordPress 的文章评论区是一个相对自由的地方,你可能很难监管到,还可能会出现一些庸俗、谩骂的内容,你可以将这些给替换掉,不必删除整条评论,这样既可以继续开启评论功能,又可以消除影响。

一、评论显示时替换

此方法不会更改评论的原始内容,只会在评论显示给访客时替换相应的关键字,你在后台看到的仍然是评论的原文。在主题目录下的 functions.php 中将最后一个 ?> 替换成:

  1. /**
  2.  * 名称:WordPress评论文字自动替换
  3.  * 作者:露兜
  4.  * 博客:http://www.ludou.org/
  5.  * 最后修改:2011年2月20日
  6.  */
  7. function dali_conents_replace($incoming_comment){
  8. $words='这里填替换规则';
  9. $rules=explode('||',$words);
  10. foreach($rulesas$rule){
  11. $word=explode('->',trim($rule));
  12. if(isset($word[1]))
  13. $incoming_comment=str_replace(trim($word[0]),trim($word[1]),$incoming_comment);
  14. }
  15. return$incoming_comment;
  16. }
  17. add_filter('comment_text','dali_conents_replace');
  18. add_filter('comment_text_rss','dali_conents_replace');
  19. ?>

请将以上代码中第 2 行中这里填替换规则替换成你自己的规则,规则请按以下格式填写:

  1. 关键字A->替换A || 关键字B->替换B || 关键字C->替换C

关键字 A 在实际显示时将被替换成替换 A,依此类推,多个替换规则之间请用 || 隔开。

示例:

  1. $words='傻逼->牛逼 || shit->haha';
温馨提示

如果想实现文章内和摘要内的敏感词替换(文章都是自己编辑的,一般都不会出现敏感词),可在方法一代码后面增加以下代码:

  1. add_filter('the_content', 'dali_conents_replace'); //正文
  2. add_filter('the_excerpt', 'dali_conents_replace'); //摘要

二、评论添加时替换

此方法将直接替换访客发布的评论内容,数据库中存储的评论就是替换后的内容,在主题目录下的 functions.php 中将最后一个  ?>  替换成:

  1. /**
  2.  * 名称:WordPress评论文字自动替换
  3.  * 作者:露兜
  4.  * 博客:http://www.ludou.org/
  5.  * 最后修改:2011年2月20日
  6.  */
  7. function dali_conents_replace($incoming_comment){
  8. $words='这里填替换规则';
  9. $rules=explode('||',$words);
  10. foreach($rulesas$rule){
  11. $word=explode('->',trim($rule));
  12. if(isset($word[1]))
  13. $incoming_comment['comment_content']=str_replace(trim($word[0]),trim($word[1]),$incoming_comment['comment_content']);
  14. }
  15. return$incoming_comment;
  16. }
  17. add_filter('preprocess_comment','dali_conents_replace');
  18. ?>

替换规则的书写方式请参考以上的方法一。

三、结语

首先非常的感觉【露兜博客】的代码分享。明月还是那个态度,垃圾评论、不和谐评论的防范并不只有“降低博客评论体验”这一种“伤敌一万,自损八千”的“葵花宝典”式方法,其实还有很多更加实用和有效的方法可以使用的。希望那些还在使用“难以辨识的验证码”、“必须登录注册后评论”等等拒人于千里之外的评论体验博客们有所改变(具体大家可以看看【说说博客评论的那些事儿】里面有没有自己采用的方式)

不多说了,说起评论来,明月苦水太多了,想通过评论来交更多的草根博客好友,可是现实真残酷!评论某些博客几乎都成了“噩梦”了,唉!严重打击我的评论积极性呀!我自己的博客我连“滑动解锁”评论都不愿意使用!

赞赏作者

如果文章对你有帮助,请赞赏支持作者继续创作!

文章标签: ,   ,  
原文地址:http://blog.ymanz.com/wzjs/wp/4181.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 明月登楼的博客 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
WordPress免费响应式主题:Nana

发表评论


表情

  1. 明月登楼的博客
    明月登楼的博客 【总理】 @回复

    我来露个脸!

  2. 李光春
    李光春 【农民】 @回复

    这个好 [阴险]

  3. 码农BTS
    码农BTS 【市长】 @回复

    最近好久没来学习了,来看看哈

  4. 201直通车
    201直通车 【队长】 @回复

    很实用,拿走了

  5. 马超金博客
    马超金博客 【镇长】 @回复

    明月又投稿了,感谢分享哈

  6. 雅兮网
    雅兮网 【省长】 @回复

    有一个很有用的地方 就是之前评论中使用的表情代码,后期更换成汉字或者别的代码,用此方法可以将之前的表情修复了

  7. 网赚猫
    网赚猫 【镇长】 @回复

    这个功能不错,不过还是有点难防想攻击你的人~

  8. 魔羯
    魔羯 【队长】 @回复

    很实用!

  9. 彩票自助机
    彩票自助机 【县长】 @回复

    学习了 收藏起来

  10. 爱时尚
    爱时尚 【省长】 @回复

    这个好,垃圾评论是个头疼的问题

    • boke112导航
      boke112导航【站长】2017-01-16 10:13  回复

      @爱时尚[嘻嘻] 只要根据本站分享在《纯代码实现彻底屏蔽WordPress站点垃圾评论》这篇文章进行设置,基本上能杜绝垃圾评论

  11. 龙笑天
    龙笑天 【市长】 @回复

    赞同楼上的,设置关键字就OK了~

    • boke112导航
      boke112导航【站长】2017-01-16 10:16  回复

      @龙笑天[偷笑] 这个是防止误杀评论,比如正常评论时,评论内容刚好有后台设置关键词的关键词却无法提交,而这个代码却直接替换他内容中在敏感词然后发布成功,感觉还行。

  12. BanYuner
    BanYuner 【镇长】 @回复

    为什么不直接在后台使用使用关键字呢?

    • boke112导航
      boke112导航【站长】2017-01-16 10:16  回复

      @BanYuner[嘻嘻] 这个是防止误杀评论,比如正常评论时,评论内容刚好有后台设置关键词的关键词却无法提交,而这个代码却直接替换他内容中在敏感词然后发布成功,感觉还行。

  13. 靠谱学生兼职网
    靠谱学生兼职网 【市长】 @回复

    不错,不知道适合使用多说的评论系统不?

  14. 网扑蜘
    网扑蜘 【镇长】 @回复

    其实插件最好,懒人专用。 不过对于技术男来说,这是个福利

  15. 小萝博客
    小萝博客 【县长】 @回复

    这工作量就多了

  16. Koolight
    Koolight 【省长】 @回复

    文章内容能自动替换也好!

    • boke112导航
      boke112导航【站长】2017-01-16 10:19  回复

      @Koolight[嘻嘻] 已更新,文章内容替换也很简单的,具体请看文章内容。不过文章是我们自己编辑在,一般不会出现敏感词的情况