在PHP中是否有一种简单的方法来判断字符串中的字符中有多少是非英语的?
我试图实现的是根据描述来检测列表中的非英语项目,并使用这个百分比来解释英语文本中可能出现的特殊字符。例如:少于5%的非英语字符并不一定意味着文本不是英语,而是95%的非英语字符。
发布于 2014-02-17 15:14:20
没有直接的方法,但这可能有助于使用斯特伦
下面是一个例子
$string="string with utf-8 chars åèä - doo-bee doo-bee dooh";
$utf = mb_strlen($string, 'utf-8') ;
echo $utf ;
echo "<br />";
$all = strlen($string);
echo $all ;
echo "<br />";
$non_eng = $all - $utf ;
echo $non_eng ;您将有3个非eng字符,使用总长度可以计算%。
发布于 2014-02-17 15:11:48
在英语中,你知道我们有26个字母没有任何指示符号(即口音)。您可以这样做: 1)在数组中存储大小写字母、数字字符和任何其他您希望接受的“英语”字符的列表。
( 2)或者这样做:$az = range('a', 'z');将返回所有26个字符,确保对大写字母和数字做同样的操作,并将这些元素添加到一个大数组中。
然后遍历文本文档中的每个字母,并将其与英文字符数组中的每个字母进行比较,在这些字符数组中,当您浏览文档时,您将对其中的命中和遗漏进行统计。
然后,您可以通过以下操作计算出文档中英文字母的百分比:
100/ total number of characters in the document * hits (the total number of English characters found)
https://stackoverflow.com/questions/21832344
复制相似问题