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

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

本教程会将评论中留有网址、电话、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. 头像
      陈小儒云
      第9楼
      学习下
      回复
    1. 头像
      嘟嘟笔记
      第8楼
      不错
      回复
    1. 头像
      哦哦
      第7楼
      看看
      回复
    1. 头像
      海诚
      第6楼
      看看学习下
      回复
    1. 头像
      江湖剑客
      第5楼
      www.go176.net互访
      回复
    1. 头像
      纯洁博客
      第4楼
      这个可以,减少打广告的来
      回复
    1. 头像
      qq123
      地板
      感谢分享看看
      回复
    1. 头像
      重庆企业邮箱
      板凳
      emlog过滤评论中的网址、电话、QQ号码,过滤掉也挺好免得给打广告的接近
      回复
    1. 头像
      网际电脑
      沙发
      需要先  评论  才可以查看哦  不错
      回复
    1 2