最新消息: 新版网站上线了!!!

php获取中英文字符串长度 获取中英文混合长度函数

function strLength($str,$charset='utf-8'){

    if($charset=='utf-8') $str = iconv('utf-8','gb2312',$str);

    $num = strlen($str);

    $cnNum = 0;

    for($i=0;$i<$num;$i++){

        if(ord(substr($str,$i+1,1))>127){

            $cnNum++;

            $i++;

        }

    }

    $enNum = $num-($cnNum*2);

    $number = ($enNum/2)+$cnNum;

    return ceil($number);

}

字符串定义:

 

$str = "和我一起说:Hello world!";

1、获取中英文混合长度

 

$con = $this->strLength($str,'gb2312');

echo “$con”;

2、获取字符串中中文长度

 

$pa = '/[\x{4e00}-\x{9fa5}]/siu';

preg_match_all($pa, $str, $r);

$count = count($r[0]);

echo $count;

3、获取字符串字节长度(一个汉字3个字节)

 

$count = strlen($str);


转载请注明:谷谷点程序 » php获取中英文字符串长度 获取中英文混合长度函数