«

EMLOG过滤评论中的网址、电话和QQ号等

时间:2019-9-11 09:30     作者:博客志     分类: emlog教程


反垃圾推广是诸多站长朋友都会遇到的事儿,很多站长为了省事儿并未对访客留言进行审核,直接导致评论成为有心之人的推广垃圾场,那么现在就来为大家分享一个EMLOG过滤评论中的网址、电话和QQ号等推广信息的方法。

一、操作步骤

1、打开模板文件module.php中,找到如下代码

<?php echo $comment['content']; ?>

2、将上面的代码替换为如下代码即可

<?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);
?>

3、如需过滤管理员,即不对管理员进行过滤,可使用如下代码

<?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);} 
?> 

二、原理解析

对EMLOG模板进行修改,对留言中的网址、电话、QQ号码(5位以上数字)进行识别并进行过滤