欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

php 中文 英文长度 都算1

shiping1 的头像

//这里编辑是 GBK

function abslength($str,$ar=array())
{
    if(empty($str)){
        return 0;
    }
    if(function_exists('mb_strlen')){
        
        return mb_strlen($str,'GBK');
    }
    else {
        
        preg_match_all("/./u", $str, $ar);
        return count($ar[0]);
    }
}
$str = '我们aa';
$len = abslength($str);
var_dump($len);  //return 4
$arr=array(0=>'1');
$len = abslength($str,$arr);
echo '<br />'.$len; 

//因为有mb_strlen 函数  return 4(如果没有mb_strlen的话 那么中文算2, 英文算1)

//这里有点问题  当不存在 mb_strlen 函数  时,返回的是0

普通分类: