字串後面再加"...",來當部份說明,而當截取字串時
會遇到一些編碼原則,BIG5,UTF8 或是全形半形之間的亂碼問題...
各種編碼及全形半形截取字串的方式如下..
此方法適用於網頁編碼為BIG5
$len = 30;
echo strlen($news_title)<=$len ? $news_title : (substr($news_title,0,$len).chr(0)."....");
?>
此方法適用於網頁編碼為UTF8
function csubstr($text, $limit) {
$s = ';
for($i=0;$i< $limit-3;$i++) {
$s .= ord($text[$i])>127 ? $text[$i].$text[++$i].$text[++$i] : $text[$i];
}
$s = $s."...";
return $s;
}
此方法適用於全形字元的處理方式
function ChgTitle($news_title)
{
$length = 30;
if (strlen($news_title)>$length) {
$temp = 0;
for($i=0; $i<$length; $i++)
if (ord($news_title[$i]) > 128) $temp++;
if ($temp%2 == 0)
$news_title = substr($news_title,0,$length)."...";
else
$news_title = substr($news_title,0,$length+1)."...";
}
return $news_title;
}
沒有留言:
張貼留言