php 判断字符串是英文还是汉字还是英汉混合

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