欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

100分求个 检拆字符串长度

程序员文章站 2024-02-07 00:00:42
...
100分求个 检测字符串长度
$str[0] = "123asd你好[哈哈]"
$str[1] = "123asd你好[你好不好啊]"
//一个中文一个字符(utf-8的编码) 符号 [这里面的字和外边的符号算一个字符]
然后计算长度
结果是$str[0]和$str[1]为长度9

最好写成一个函数。谢谢了


------解决方案--------------------
我没太看懂楼主的题,不过函数,手头上有一个。
PHP code

/**
     * 得到utf8 的长度
     * @author mu_rain
     * @param String $str
     * @return Int
     */
    static function strlen_utf8($str) {
        $i = 0;
        $count = 0;
        $len = strlen ($str);
        while ($i = $len) break;
            if($chr & 0x80) {
                $chr ------解决方案--------------------
PHP code
    function myLen($str,$startTag='[',$endTag=']',$encoding='utf-8')
    {
        $st = preg_quote($startTag);
        $et = preg_quote($endTag);
        return mb_strlen(preg_replace("#{$st}[^{$et}]*{$et}#","~",$str),$encoding);
    }
echo myLen("123asd你好[哈哈]");//9

------解决方案--------------------
附赠字符串函数一堆 ,慢用。
PHP code