牛骨文教育服务平台(让学习变的简单)
博文笔记

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

创建时间:2015-06-08 投稿人: 浏览次数:167
/**
  * @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);
 }

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。