首页 > Web开发 > 详细

php计算中文字符串的长度

时间:2015-03-24 17:41:07      阅读:122      评论:0      收藏:0      [点我收藏+]

直接上代码,原理见末尾原文链接:


<?php
function mbstrlen($str,$encoding="utf8")
{

    if (($len = strlen($str)) == 0) {
        return 0;
    }

    $encoding = strtolower($encoding);

    if ($encoding == "utf8" or $encoding == "utf-8") {
        $step = 3;
    } elseif ($encoding == "gbk" or $encoding == "gb2312") {
        $step = 2;
    } else {
        return false;
    }

    $count = 0;
    for ($i=0; $i<$len; $i++) {
        $count++;
        //如果字节码大于127,则根据编码跳几个字节
        if (ord($str{$i}) >= 0x80) {
            $i = $i + $step - 1;//之所以减去1,因为for循环本身还要$i++
        }
    }
    return $count;
}

echo mbstrlen(iconv("utf-8","gbk","你是我的小苹果"),"gbk");
echo mbstrlen("你是我的小苹果");

原文链接:PHP计算中文字符串的字数,自己实现mb_strlen

php计算中文字符串的长度

原文:http://my.oschina.net/cxz001/blog/390919

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!