如何分別全角和半角以避免亂碼
更新時(shí)間:2006年10月09日 00:00:00 作者:
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;
}
原理就是截?cái)嘁粋€(gè)字符,看看其ascII碼是不是大于128,如果是,說(shuō)明截?cái)嗟氖且粋€(gè)全角漢字,那么就退后一個(gè)截?cái)?。?length控制長(zhǎng)度
備注:循環(huán)判斷字符串里面的 >128 的字符個(gè)數(shù),如果半角字符為偶數(shù),則表示位置剛好為整個(gè)漢字,如果為奇數(shù),則為半個(gè)漢字,需要取下一個(gè)字符
{
$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;
}
原理就是截?cái)嘁粋€(gè)字符,看看其ascII碼是不是大于128,如果是,說(shuō)明截?cái)嗟氖且粋€(gè)全角漢字,那么就退后一個(gè)截?cái)?。?length控制長(zhǎng)度
備注:循環(huán)判斷字符串里面的 >128 的字符個(gè)數(shù),如果半角字符為偶數(shù),則表示位置剛好為整個(gè)漢字,如果為奇數(shù),則為半個(gè)漢字,需要取下一個(gè)字符
相關(guān)文章
PHP – EasyUI DataGrid 資料存的方式介紹
繼上篇文章 PHP – EasyUI DataGrid 資料取的方式,本篇一條小龍繼續(xù)講述,如何操作 DataGrid,把資料存入資料庫(kù),并實(shí)現(xiàn) MVC 架構(gòu),將資料層分離、獨(dú)立運(yùn)作2012-11-11一個(gè)連接兩個(gè)不同MYSQL數(shù)據(jù)庫(kù)的PHP程序
一個(gè)連接兩個(gè)不同MYSQL數(shù)據(jù)庫(kù)的PHP程序...2006-10-10