EMLOG过滤评论中的网址、电话和QQ号等
反垃圾推广是诸多站长朋友都会遇到的事儿,很多站长为了省事儿并未对访客留言进行审核,直接导致评论成为有心之人的推广垃圾场,那么现在就来为大家分享一个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位以上数字)进行识别并进行过滤