• php计算字符串长度:utf8编码,包含中文


    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) 正好可以解决这个问题。

  • 相关阅读:
    挖矿程序linux 删除
    本地复制vue项目
    新建vue项目
    CentOS7单用户模式
    CentOS6
    CentOS6-系统管理操作
    CentOS7-系统管理操作
    VMWare克隆虚拟机
    虚拟机网络模式设置为NAT
    VI/VIM编辑器
  • 原文地址:https://www.cnblogs.com/blueskycc/p/5363131.html
Copyright © 2020-2023  润新知