emlog过滤评论中的网址、电话、QQ号码(5位以上数字)

2016-4-11 / 24 评论 / 10447 阅读

本教程会将评论中留有网址、电话、QQ号码(5位以上数字)全部过滤掉,操作很简单,在模板文件中module.php中的<?php echo $comment['content']; ?>将其替换成如下代码即可:本教程于2016-11-28日更新

<?php //过滤号码、网址
$qq = '/\0\d{2,3}-\d{5,9}|0\d{2,3}-\d{5,9}|0\d{2,3}\d{5,9}|0\d{2,3}\d{5,9}|[0-9]\d{2,3}\d{3,20}|[0-9]\d{1,10}-\d{1,20}|[0-9]\d{0,10}-\d{1,20}/';
$wz = '/(http:\/\/|https:\/\/|)[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^<>\"])*/';
$pbhm=preg_replace($qq,'【号码屏蔽】',$comment['content']);
echo preg_replace($wz,'【网址屏蔽】',$pbhm);
?>

如果要实现对管理员不过滤,请使用下面代码替换

<?php if(ROLE == ROLE_ADMIN){echo $comment['content'];}else{
$qq = '/\0\d{2,3}-\d{5,9}|0\d{2,3}-\d{5,9}|0\d{2,3}\d{5,9}|0\d{2,3}\d{5,9}|[0-9]\d{2,3}\d{3,20}|[0-9]\d{1,10}-\d{1,20}|[0-9]\d{0,10}-\d{1,20}/';
$wz = '/(http:\/\/|https:\/\/|)[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^<>\"])*/';
$pbhm=preg_replace($qq,'【号码屏蔽】',$comment['content']);
echo preg_replace($wz,'【网址屏蔽】',$pbhm);}
?>

评论一下?

OωO
取消
    1. 头像
      淘优折
      第24楼
      这个方法正需要呢 不知道自己能不能操作
      回复
    1. 头像
      悠久娱乐网
      第23楼
      emlog过滤评论中的网址
      回复
    1. 头像
      mark英语言
      第22楼
      我来学习下...
      回复
    1. 头像
      总爱折腾
      第21楼
      总爱折腾
      回复
    1. 头像
      舍利
      第20楼
      emlog过滤评论中的网址
      回复
    1. 头像
      李明
      第19楼
      我来学习下...
      回复
    1. 头像
      柰枚
      第18楼
      支持!
      回复
    1. 头像
      微心理
      第17楼
      前来学习
      回复
    1. 头像
      小小
      第16楼
      我想知道是怎么
      回复
    1. 头像
      xia
      第15楼
      高手,我来学习下
      回复
    1. 头像
      浮晨
      第14楼
      学习一下,我已经关注你博客好久了
      回复
    1. 头像
      哈哈
      第13楼
      学习下
      回复
    1. 头像
      陈小儒
      第12楼
      学习下
      回复
    1. 头像
      评论侠
      第11楼
      啦啦啦啦啦啦啦啦!无意义的灌水评论,学习中
      回复
    1. 头像
      moke
      第10楼
      看学习下
      回复
    1 2