2009年7月16日 星期四

如何截斷字尾並加上 ... ?

如何截斷字尾並加上 ... ?

字尾截斷程式常常會用到,程式本身也非常簡單,接下來就來介紹用PHP或CSS截斷字尾的方法。

1. CSS截斷字尾並且在字尾加上…是個很簡單也很好用的方法,不過只有在IE上面才有效,FireFox上面則是毫無反應。

這個就是只有在IE裡面才有效的CSS專屬字尾截斷效果,看到結尾會有被截斷的效果。



<div style="width:100px; overflow:hidden; text-overflow:ellipsis;"> 這個就是只有在IE裡面才有效 的CSS專屬字尾截斷效果,看到</div>


2. 在Big5網頁當中所使用的斷字程式


function cutword($cutstring,$cutno){
if(strlen($cutstring) > $cutno) {
for($i=0;$i<$cutno;$i++) {
$ch=substr($cutstring,$i,1);
if(ord($ch)>127) $i++;
}
$cutstring= substr($cutstring,0,$i)."...";
}
return $cutstring;
}


使用的時候只需要使用cutword($str,24);就可以了,後面放的就是你所要保留的字元數,中文的話每個字必須要算做兩個字元。

3. 在UTF-8上面所使用的斷字程式,要搭配mbstring套件來使用,使用的方式與上面的一樣,同樣也是回傳截斷後的文字。

function cut_str($subject,$strlen) {
if(!extension_loaded('mbstring')) {
dl("mbstring.so");
}
if(function_exists('mb_substr')) {
$newstr = mb_substr($subject, 0, $strlen, "UTF8");
if (mb_strlen($subject,'UTF-8') > $strlen) {
$newstr .= '...';
}
}
return $newstr;
}

沒有留言:

張貼留言