非插件实现屏蔽英语、日语、俄语、韩语、阿拉伯语、泰语等外语垃圾评论!

我们前面讲了《实现屏蔽wordpress无中文的评论,有效避免》可以有效抵御评论无中文情况的垃圾评论!遇到如“ああではないのか!呵呵”这种中日语混合的,那段就显得无力了!

经过逍遥的苦苦寻找终于找到了有效的办法,通过以下方法可以有效屏蔽包含日文评论。

具体效果如下图:

非插件实现屏蔽英语、日语、俄语、韩语、阿拉伯语、泰语等外语垃圾评论!

 

好了废话不多说直接切入正题:

同样的还是将以下代码添加到主题的functions.php中的函数闭合前。

注意事项:由于现在多数主题都采用comments-ajax.php处理提交,用err输出错误信息,
如果您的主题没有使用comments-ajax.php评论,那么请用wp_die输出错误信息!
处理方法:将下面所有的err换成wp_die!否则会出现500错误!

如果您没用有我前面所说的方法屏蔽全英文,请用以下代码:

// 禁止全英文和日文评论
function BYMT_comment_post( $incoming_comment ) {
$pattern = '/[一-龥]/u';
$jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';
if(!preg_match($pattern, $incoming_comment['comment_content'])) {
err( "写点汉字吧,博主外语很捉急! Please write some chinese words!" );
}
if(preg_match($jpattern, $incoming_comment['comment_content'])){
err( "日文滚粗!Japanese Get out!日本語出て行け!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'BYMT_comment_post');

如果你已经用了屏蔽全英文的代码了,那么请使用以下代码:

// 禁止日文评论
function BYMT_comment_jp_post( $incoming_comment ) {
$jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';
if(preg_match($jpattern, $incoming_comment['comment_content'])){
err( "日文滚粗!Japanese Get out!日本語出て行け!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'BYMT_comment_jp_post');

当然了不只是这些,通过以上原理我们还能屏蔽其他语言的垃圾评论:

禁止俄语评论:

//禁止北方野蛮人留言(俄语)
function BYMT_comment_ru_post( $incoming_comment ) {
$ruattern ='/[А-я]+/u';
if(preg_match($ruattern, $incoming_comment['comment_content'])){
err( "北方野人讲的话我们不欢迎!Russians, get away!Savage выйти из Русского Севера!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'BYMT_comment_ru_post');

禁止韩语评论:

//禁止朝鲜半岛幸福人民留言(朝鲜语/韩语)
function BYMT_comment_kr_post( $incoming_comment ) {
$krattern ='/[갂-줎]+|[줐-쥯]+|[쥱-짛]+|[짞-쪧]+|[쪨-쬊]+|[쬋-쭬]+|[쵡-힝]+/u';
if(preg_match($krattern, $incoming_comment['comment_content'])){
err( "不要用韩语/朝鲜语思密达!Please do not use Korean!하시기 바랍니다 한국 / 한국어 사용하지 마십시오!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'BYMT_comment_kr_post');

禁止阿拉伯语评论:

//禁止真主阿拉留言(阿拉伯语,部分)
function BYMT_comment_ar_post( $incoming_comment ) {
$arattern ='/[؟-ض]+|[ط-ل]+|[م-م]+/u';
if(preg_match($arattern, $incoming_comment['comment_content'])){
err( "不要用阿拉伯语!Please do not use Arabic!!من فضلك لا تستخدم اللغة العربية" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'BYMT_comment_ar_post');

禁止泰语评论:

//禁止人妖部落留言(泰语)
function BYMT_comment_th_post( $incoming_comment ) {
$thattern ='/[ก-๛]+/u';
if(preg_match($thattern, $incoming_comment['comment_content'])){
err( "人妖你好,人妖再见!Please do not use Thai!กรุณาอย่าใช้ภาษาไทย!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'BYMT_comment_th_post');

更多语种需要大家自己去研究了!

当然了逍遥乐也没屏蔽这么多,只屏蔽了纯英文和日语!爱折腾的朋友,赶快去试试吧!