《怎样用PHP检测字符串中是否包含汉字以及汉字字数》要点:
本文介绍了怎样用PHP检测字符串中是否包含汉字以及汉字字数,希望对您有用。如果有疑问,可以联系我们。
相关主题:PHP开发
在网站建设时,经常会需要检测一个字符串中的汉字字数或是否有汉字,或中英文混合字数。
下面这个维易PHP函数就是应用在这类需求上。
/**字符串字数:适合中英混合 * @param $str * @return mixed */ function mixStrLen($str) { $cn = chinese_check($str); return $cn[3]; } /**中英文字串检测——只计算字数用 mixStrLen($str) * @param $str * @return array[4] :array(0)第一组值是汉字字数,array(1)第二组值表示“是否为全部汉字,1为是,2是部分汉字”,array(2)第三组是汉字字符数,array(3)第四组是这个字符串总字数,中英均算一个字。 */ function chinese_check($str) { $strlen = strlen($str); $cnNums = $charNums = $strType = 0; $encodelen = strlen('中'); for($i=0;$i<$strlen;$i++){ $chr = ord(substr($str,$i,1)); if($chr>0xa0){ $i += ($encodelen-1); $cnNums++ ; #有汉字,保存汉字数目 }else{ $charNums++; } } $cnCharNums = $cnNums*$encodelen; //字符数,只含汉字部分, if($cnCharNums==$strlen) $strType = 1; #全是汉字 if($cnCharNums>0&&$cnCharNums<$strlen) $strType = 2; #全串部分含有汉字 $strCharLen = $charNums+$cnNums; return array($cnNums,$strType,$cnCharNums,$strCharLen); }
转载请注明本页网址:
http://www.vephp.com/jiaocheng/122.html