最近都能看到垃圾评论,纯数字纯英文有些还附带网址,现在每天几条虽然不多,但以后很难说。每次都要到后台删也是很麻烦的,又不喜欢装插件,索性就加个验证吧。首先是纯数字纯英文的评论一概不允许通过。
功能说明
//功能备注说明
$《变量名》 = '《正则表达式》';
if (preg_match($《变量名》, $_POST['comment'])) {
echo (json_encode(array('error' => 1, 'ys' => 'danger', 'msg' => '《消息提示》')));
exit();
}
代码中,所有被《》包含的内容,都可以自定义,替换内容后,将《》删除
使用演示
下方代码,可实现评论中有数字便拦截
//拦截含有数字的评论
$Ijsz = '/[0-9]/u';
if (preg_match($ljsz, $_POST['comment'])) {
echo (json_encode(array('error' => 1, 'ys' => 'danger', 'msg' => '您的评论不能含有数字')));
exit();
}
代码说明
1.变量名一般是固定字母组成的内容,最好与正则表达式有解释含义
2.如果正则表达式中需要匹配文字,也就是UTF-8类字符,必须在正则表达式后加u,否则将无法正确匹配;还有需要根据PHP语言的版本编写对应的正则表达式,因为每种代码语言的正则表达式的表示有所不同,网络上有专门的教程可以学习。
3.preg_match函数前有!时,代表不匹配;
preg_match函数前无!时,代表匹配;
可用的正则表达式
匹配日文,如:こんにちは,私は
建议使用匹配,指定函数前不加!,含有日文就拦截
/[ぁ-ん]+|[ァ-ヴ]+/u
匹配中文,如:你好,我是,你
建议使用不匹配,指定函数前要加!,评论没有中文就会拦截
/[一-龥]/u
其他语言函数
$Ijsz = '/[0-9]/u'; //数字
$enpattern = '/[一-龥]/u'; //中文
$jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u'; //日文
$ruattern ='/[А-я]+/u'; //英文
$krattern ='/[갂-줎]+|[줐-쥯]+|[쥱-짛]+|[짞-쪧]+|[쪨-쬊]+|[쬋-쭬]+|[쵡-힝]+/u'; //韩语
$arattern ='/[؟-ض]+|[ط-ل]+|[م-م]+/u'; //阿拉伯语
$thattern ='/[ก-๛]+/u'; //泰语
完整代码
修改文件目录位置:/wp-content/themes/zibll/action/comment.php
搜索”内容合规性判断“将代码填在上方
© 版权声明
THE END
暂无评论内容