本文实例讲述了PHP实现通过中文字符比率来判断垃圾评论的方法。分享给大家供大家参考。具体实现方法如下:
一、需求:
最近一段时间常常出现这类垃圾评论:一大段英文字符里夹杂一两个生僻汉字,包含了中文字符,而且又没包含啥中文的敏感词,所以就堂而皇之的通过了评论过滤。对这类评论的处理可以采取判断中文字符的比率来确认,但是也会存在一定的误判。
二、解决方案:
要用到php的两个函数strlen和mb_strlen,strlen会把单个汉字长度认定为3,mb_strlen单个汉字长度为1。同一段字符通过两个函数取得的长度之差就是实际汉字字符数的二倍,除以二就得到实际的字符数,在与mb_strlen取得的长度求比值就得到汉字占总字符数的比率。
三、实现代码:
$len_all = strlen($comment['text']); $len_st = mb_strlen($comment['text'], 'UTF-8'); if(($len_all-$len_st)/(2*$len_st) < 0.5){ $error = "中文字符少于百分之五十"; }
如果在评论中贴代码的话,就会造成中文字符比率低,需要过滤掉代码字段再来判断。
希望本文所述对大家的PHP程序设计有所帮助。
本文向大家介绍修改PHP脚本使WordPress拦截垃圾评论的方法示例,包括了修改PHP脚本使WordPress拦截垃圾评论的方法示例的使用技巧和注意事项,需要的朋友参考一下 拦截英文垃圾评论 由于绝大多数的垃圾评论都是英文的,所以国内不少朋友在使用 Some Chinese Please 插件,它可以有效地拦截内容中不带有中文字的comment和trackback(pingback),不写入数据
本文向大家介绍C++中用栈来判断括号字符串匹配问题的实现方法,包括了C++中用栈来判断括号字符串匹配问题的实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例主要实现:输入一个括号字符串,依次检验,若为左括号则入栈,若为右括号则出栈一个字符判断是否与之相对应,在最后还需判断栈是否为空,如果不为空则不匹配。 首先回顾栈的基本知识: 1.定义栈的结构体并初始化一个新栈: 2.出栈和入栈操作: 3
问题内容: 我正在阅读有关垃圾收集的信息,当我搜索字符串文字垃圾收集时,搜索结果令人困惑。 我需要澄清以下几点: 如果在编译时将字符串定义为文字字符串,那么是否会对其进行垃圾回收? 如果使用实习方法,那么它会被垃圾回收吗?在第1点中,它也将与文字区别对待。 有人提到只有在卸载类时才会对文字进行垃圾回收吗?是否有道理,因为我认为永远不会卸课。 问题答案: 如果在编译时将字符串定义为文字字符串,那么是
本文向大家介绍PHP判断一个字符串是否是回文字符串的方法,包括了PHP判断一个字符串是否是回文字符串的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP判断一个字符串是否是回文字符串的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助。
本文向大家介绍python 判断网络连通的实现方法,包括了python 判断网络连通的实现方法的使用技巧和注意事项,需要的朋友参考一下 开发中偶尔需要判断网络的连通性,没有什么方法比 ping 更直接了当,通常检查网络情况都是运行命令ping www.baidu.com ,查看输出信息即可。 简单方法 python执行批处理用多种方法,考虑到我们仅仅用于验证网络连通性,只需要最终的结果,os.sy
本文向大家介绍PHP判断字符串长度的两种方法很实用,包括了PHP判断字符串长度的两种方法很实用的使用技巧和注意事项,需要的朋友参考一下 php程序中字符串长度判断,可以使用strlen。 方法一: 方法二: 以上两种方法,第二种效率更高些。 在PHP中,所有的变量都是用一个结构-zval来保存的,strlen虽然是直接获取其中的len,但是仍然有一次函数调用,而isset是PHP的语法结构,所以更