> 백엔드 개발 > PHP 튜토리얼 > 太长的标题要截断?如何分别全角和半角以避免乱码_PHP

太长的标题要截断?如何分别全角和半角以避免乱码_PHP

WBOY
풀어 주다: 2016-06-01 12:38:14
원래의
1180명이 탐색했습니다.

作 者: lemann(lemann)

function ChgTitle($title)

{



$length
= 46;

if (strlen($title)>$length) {

$temp
= 0;

for($i=0; $i$length; $i++)

if (ord($title[$i]) > 128)

$temp
++;

if ($temp%2 == 0)

$title
= substr($title,0,$length)."...";

else

$title
= substr($title,0,$length+1)."...";

}

return $title;

}



原理就是截断一个字符
看看其ascII码是不是大于128如果是说明截断的是一个全角汉字那么就退后一个截断。用$length控制长度



备注
循环判断字符串里面的 >128

的字符个数
如果半角字符为偶数则表示位置刚好为整个汉字如果为奇数则为半个汉字需要取下一个字

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