博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php计算字符串长度:utf8编码,包含中文
阅读量:4581 次
发布时间:2019-06-09

本文共 753 字,大约阅读时间需要 2 分钟。

php计算字符串长度:utf8编码

中文当作1个字符处理(strlen默认当作两个字符)

 

上函数:

/** * 计算 UTF-8 字符串长度 * * @param string $str * @return int */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 = "http://blog.snsgou.com - PHP博客";echo strlen_utf8($str);

项目中,用到发短信功能,但是每条短信如果字数超过70,会作为一条新的短信发送,所以在记录发送短信日志时,需要计算下文字个数!

英文、中文统一为一个字来计算,上面的 strlen_utf8($str) 正好可以解决这个问题。

 

转载于:https://www.cnblogs.com/blueskycc/p/5363131.html

你可能感兴趣的文章