方法一:
  // Helper::truncate_utf8_string($content,20,false);   //不显示省略号
  // Helper::truncate_utf8_string($content,20);  //显示省略号 
  // 字符截取函数
  public static function truncate_utf8_string($string, $length, $etc = '...')
  {
      $result = '';
      $string = html_entity_decode(trim(strip_tags($string)), ENT_QUOTES, 'UTF-8');
      $strlen = strlen($string);
      for ($i = 0; (($i < $strlen) && ($length > 0)); $i++)
          {
          if ($number = strpos(str_pad(decbin(ord(substr($string, $i, 1))), 8, '0', STR_PAD_LEFT), '0'))
                  {
              if ($length < 1.0)
                          {
                  break;
              }
              $result .= substr($string, $i, $number);
              $length -= 1.0;
              $i += $number - 1;
          }
                  else
                  {
              $result .= substr($string, $i, 1);
              $length -= 0.5;
          }
      }
      $result = htmlspecialchars($result, ENT_QUOTES, 'UTF-8');
      if ($i < $strlen)
          {
                  $result .= $etc;
      }
      return $result;
  }
  
方法二:
/**
  +----------------------------------------------------------
 * 功能:字符串截取指定长度
  +----------------------------------------------------------
 * @param string    $string      待截取的字符串
 * @param int       $len         截取的长度
 * @param int       $start       从第几个字符开始截取
 * @param boolean   $suffix      是否在截取后的字符串后跟上省略号
  +----------------------------------------------------------
 * @return string               返回截取后的字符串
  +----------------------------------------------------------
 */
function cutStr($str, $len = 100, $start = 0, $suffix = 1) {
    $str = strip_tags(trim(strip_tags($str)));
    $str = str_replace(array("\n", "\t"), "", $str);
    $strlen = mb_strlen($str);
    while ($strlen) {
        $array[] = mb_substr($str, 0, 1, "utf8");
        $str = mb_substr($str, 1, $strlen, "utf8");
        $strlen = mb_strlen($str);
    }
    $end = $len + $start;
    $str = '';
    for ($i = $start; $i < $end; $i++) {
        $str.=$array[$i];
    }
    return count($array) > $len ? ($suffix == 1 ? $str . "&hellip;" : $str) : $str;
}

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。