PHP获取字符串中英文混合长度

来源:互联网 发布:鲸鱼搁浅的原因知乎 编辑:程序博客网 时间:2024/05/16 19:35
/**
  * @param $str string 字符串
  * @param $$charset string 编码
  * @return 返回长度,1中文=1位,2英文=1位

  */

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);
 }

0 0
原创粉丝点击