让代码更简单

WordPress评论过滤非中文

重要:本文最后更新于2018-01-24 12:40:58,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

概述

用过wordpress的朋友都应该经历过被机器恶意提交评论,而且还都是些不认识的外国文字,有心增加验证码又怕影响用户积极性,所以就给了别人作恶的机会。

那有没有不增加验证码,又能屏蔽大部分恶意评论的方法呢?答案肯定是有的,比如今天给大家介绍的一种通过正则来判断用户评论内容有没有中文,进而过滤掉外国的恶意评论。


代码如下:

复制
/* 评论验证中文 */ 
function refused_spam_comments( $comment_data ) { 
$pattern = '/[一-龥]/u'; 
if(!preg_match($pattern,$comment_data['comment_content'])) { 
err('评论必须含中文!'); 
} 
return( $comment_data ); 
} 
add_filter('preprocess_comment','refused_spam_comments');

其中的正则规则说明

复制
一-龥
代码狗wordpress评论过滤教程

代码狗wordpress评论过滤教程

在word中从一到龥表示几乎所有的汉字,当然也可以将规则改为其它匹配汉字的正则规则,效果是一样的。


说明

从上面的代码不难看出,在得到提交的评论内容后,用匹配汉字的正则去匹配,如果没有结果,那么就提示用户必须包含汉字,否则正常提交。

在此基础上,我们还可以屏蔽固定的内容,比如超链接、侮辱性词汇等等。

关注代码狗博客,我们一起进步。

感觉很棒!可以赞赏支持我哟~

0 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐