php 判断字符串是英文还是汉字还是英汉混合
/*
* 判断给定字符串是
* 纯英文:ENGLISH
* 纯汉字:CHINESE
* 英汉混合:MIXTURE
*/
private function EnglishOrChinese($str){
$mb = mb_strlen($str,'utf-8');
$st = strlen($str);
if($st==$mb)
return ENGLISH; //'纯英文';
if($st%$mb==0 && $st%3==0){
return CHINESE; //'纯汉字';
}
else{
return MIXTURE; //'汉英混合';
}
}
需要注意的是,mb_strlen并不是PHP核心函数,使用前需要确保在php.ini中加载了php_mbstring.dll,即确保
“extension=php_mbstring.dll”这一行存在并且没有被注释掉,否则会出现未定义函 数的问题。
参考
https://blog.csdn.net/carrousel0516/article/details/90229209
https://www.cnblogs.com/ryanzheng/p/8285113.html