最近在搗鼓小程式,期間遇到的問題,踩過的坑,也是在網上各種搜。這裡也說下我解決的問題,方便大家。 在小程式首頁顯示文本列表的時候,為了美觀,不希望把所有的文本都顯示出來,希望是顯示前幾行(比如前3行,然後加上省略號),網上的大部分做法是從客戶端(client)來考慮的,一開始我也試圖從客戶端來解決問 ...
最近在搗鼓小程式,期間遇到的問題,踩過的坑,也是在網上各種搜。這裡也說下我解決的問題,方便大家。
在小程式首頁顯示文本列表的時候,為了美觀,不希望把所有的文本都顯示出來,希望是顯示前幾行(比如前3行,然後加上省略號),網上的大部分做法是從客戶端(client)來考慮的,一開始我也試圖從客戶端來解決問題,但發現顯示出來的樣式還是有問題。後來想了下,完全可以在後臺來做這個事情,而且也是個不錯的辦法,如果列表元素很多的話,從後臺控制可以減少網路包的大小。下麵以php為例:
private function get_front_text($text, $length = 60){ if (mb_strlen($text, 'UTF8') < 60){ return $text; }else{ return mb_substr($text,0,60,'UTF8').'…'; } }
用mb_substr方法來截取前n個中文字元 :)