微信小程序之多行文本省略号

最近在捣鼓小程序,期间遇到的问题,踩过的坑,也是在网上各种搜。这里也说下我解决的问题,方便大家。

在小程序首页显示文本列表的时候,为了美观,不希望把所有的文本都显示出来,希望是显示前几行(比如前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个中文字符 :)