让我们一起爱米兰
站内搜搜:
移动设备
请扫描二维码
或访问
m.milan100.com
您所在的位置 -> 米兰百分百 -> PHP -> PHP计算中文gbk、utf8字符串长度

PHP计算中文gbk、utf8字符串长度

点击数:1887 发表时间:2015-11-20 14:36:28 作者: 来源链接:
分享到:
分享到微信

英文字符串长度
strlen()是PHP自带的计算英文字符串的函数。

GBK字符串长度
中文字符计算为2个字符,英文字符计算为1个,可以统计中文字符串长度的函数。

function abslength($str){
    $len=strlen($str);
    $i=0;
    while($i<$len)
    {
        if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",$str[$i]))
        {
            $i+=2;
        }
        else
        {
            $i+=1;
        }
    }
    return $i;
}


UTF8字符串长度
下面定义的strlen_utf8函数可以统计UTF-8字符串的长度,但不同的是,该函数并不考虑字节,这有些类似 Javascript 中字符串的length方法,一个字符全部按 1 个长度计算。

// 说明:计算 UTF-8 字符串长度(忽略字节的方案) 
function strlen_utf8($str) {
    $i = 0;
    $count = 0;
    $len = strlen($str);
    while ($i < $len) {
        $chr = ord($str[$i]);
        $count++;
        $i++;
        if ($i >= $len)
            break;
        if ($chr & 0x80) {
            $chr <<= 1;
            while ($chr & 0x80) {
                $i++;
                $chr <<= 1;
            }
        }
    }
    return $count;
}
$str = "www.milan100.com";
echo strlen_utf8($str);
                           
0
很 好
0
一 般
0
差 劲
热门新闻
相关文章
上一篇: 用 PHP 内置函数 fopen 创建文件和打开文件
下一篇: php发送邮件类
评论区
匿名

返回首页 | 收藏本页 | 回到顶部
Copyright 2010. 米兰百分百 Powered By Bridge.
京ICP备15050557号