怎样用PHP检测字符串中是否包含汉字以及汉字字数
发布时间:2020-08-01 14:24:45 所属栏目: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);
} (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
