记录学习与后端知识并分享学习代码过程(会飞的鱼Blog)

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

会飞的鱼 0 1427 2017年9月30日

本教程会将评论中留有网址、电话、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);}
?>
本文由 @会飞的鱼 于 2017-9-30 发布在 会飞的鱼Blog,如无特别说明,本博文章均为原创,转载请保留出处。

网友评论

    暂无评论

会飞的鱼 在线咨询

在线时间:9:00-22:00
周六、周日:14:00-22:00