100分求个 检拆字符串长度

原创
2016-06-13 13:21:32 513浏览

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
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。