Rumah >pembangunan bahagian belakang >tutorial php >太长的标题要截断?如何分别全角和半角以避免乱码_PHP

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

WBOY
WBOYasal
2016-06-01 12:38:141182semak imbas

作 者: 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

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn