$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
