mb_substr中文日文长度相同,显示长度不同

WBOY
풀어 주다: 2016-06-06 20:41:51
원래의
1131명이 탐색했습니다.

两段中文和日本,从肉眼上看是不在同一位置结束的,但是使用mb_strlen函数获取的长度确是相同的,测试代码如下:

<code>$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');
</code>
로그인 후 복사
로그인 후 복사

测试结果长度都是59,但是肉眼很明显看到长度不统一啦,这样的话就会造成mb_substr这个函数截取的数据长度不统一,在前端就会换行了。

大家是如何解决这个问题的?

回复内容:

两段中文和日本,从肉眼上看是不在同一位置结束的,但是使用mb_strlen函数获取的长度确是相同的,测试代码如下:

<code>$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');
</code>
로그인 후 복사
로그인 후 복사

测试结果长度都是59,但是肉眼很明显看到长度不统一啦,这样的话就会造成mb_substr这个函数截取的数据长度不统一,在前端就会换行了。

大家是如何解决这个问题的?

...我这里程序输出的是59...然后我每个都特地数了两遍..都是59个字..mb_strlen并没有问题...

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!