[CodeIgniter] character_limiter / word_limiter 切斷過長字元的 function

做首頁的程式套版的時候
很常遇到一種東西

例如最新消息可能 300px
但是客人在後台輸入的很長的標題
結果造成超出版面

以前都是自己寫 function 去把過長的標題切斷
然後加上 ‘….’

後來發現其實這功能 CodeIgniter 早就有這個功能了
(這就是用 framework 的好處)

詳細說明在官網

用法如下(也是從官網copy的)

$string = “Here is a nice text string consisting of eleven words.”;
$string = character_limiter($string, 20);
// Returns: Here is a nice text string…

大概就是這樣的效果
至於 word_limiter 也有類似的功能
只是他可以避免用 character_limiter 去切斷一個完整的英文字

不過有稍微 google 一下
似乎中文字會有問題
因為 function 並沒有考慮到 multi-byte 的字的關係
大概就是用 mb_string 去修改這樣
這邊就不贅述了
僅介紹功能

framwork 的意義其實就是避免自己造輪子
做人家已經做過的事情
而且自己做的也不見得比人家的品質好/有效率
那何不用別人寫好的呢?