$len){ $title ="/> $len){ $title =">

substr的有关问题

WBOY
풀어 주다: 2016-06-13 10:21:08
원래의
749명이 탐색했습니다.

substr的问题
在输出文章标题的时候,由于框架宽度限制,我只能最多容许10个中文长度的标题出现
超出10个的话则以9个中文+ .. 表示,比如"一二三四五六七八九.."
我的函数体很简单,

function doTitleLen($title, $len){
if(strlen($title) > $len){
$title = substr($title, 0, $len-2).'..';

}
return $title;
}

假设len为10
然后传来的文章标题是
"一二三四五六七八九十1"
这样会导致最后一个字为乱码,因为substr里-2了,这是按照1个中文长度去减的
不知怎么解决这个BUG
strlen得出的是字节数,如何计算字数?
并且得到了字数后,有什么函数可以按照字符个数去截取,而不是字节数去截取的呢?

------解决方案--------------------
用mb_strlen()计算字符长度。
用mb_substr()截取。

注意指定编码。

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