$str_0 = '[银光字幕组][哆啦a梦新番doraemon][006][gb][2005.05.20]秘密间谍大作战&hello!宇';$str_1 = 'hello kitty no happy birthday (ハローキティとミミィのハッピーバースデー) ova.mp';$str_2 = 'arr] hello kitty no fushigi no kuni no alice (ハローキティの不思議の国の';$str_3 = '2014.myhd.六福喜事.hello babies.粵語中字.ac-3.1920x1080-myfun4u.mkv';return mb_strlen($str_0, 'utf-8').'@'.mb_strlen($str_1, 'utf-8').'@'.mb_strlen($str_2, 'utf-8').'@'.mb_strlen($str_3, 'utf-8');
测试结果长度都是59,但是肉眼很明显看到长度不统一啦,这样的话就会造成mb_substr这个函数截取的数据长度不统一,在前端就会换行了。
大家是如何解决这个问题的?
回复内容: 两段中文和日本,从肉眼上看是不在同一位置结束的,但是使用mb_strlen函数获取的长度确是相同的,测试代码如下:
$str_0 = '[银光字幕组][哆啦a梦新番doraemon][006][gb][2005.05.20]秘密间谍大作战&hello!宇';$str_1 = 'hello kitty no happy birthday (ハローキティとミミィのハッピーバースデー) ova.mp';$str_2 = 'arr] hello kitty no fushigi no kuni no alice (ハローキティの不思議の国の';$str_3 = '2014.myhd.六福喜事.hello babies.粵語中字.ac-3.1920x1080-myfun4u.mkv';return mb_strlen($str_0, 'utf-8').'@'.mb_strlen($str_1, 'utf-8').'@'.mb_strlen($str_2, 'utf-8').'@'.mb_strlen($str_3, 'utf-8');
测试结果长度都是59,但是肉眼很明显看到长度不统一啦,这样的话就会造成mb_substr这个函数截取的数据长度不统一,在前端就会换行了。
大家是如何解决这个问题的?
...我这里程序输出的是59...然后我每个都特地数了两遍..都是59个字..mb_strlen并没有问题...
