/** * 字符串截取 * @param string $str 需要截取的字符串 * @param int $len 截取长度 * @param string $next 自定义后缀符号 * @param int $start 第一个字符的位置 * @param string $pre 自定义前缀符号 * @param string $charset 字符串编码 * @return string **/ function cutstr($str, $len, $next = '', $start = 0, $pre = '', $charset = 'utf8') { $str_len = (strlen($str) + mb_strlen($str, $charset)) / 2; if ($str_len <= $len && $start == 0) { return $str; } $substr = mb_substr($str, $start, $len, $charset); if ($str == $substr) { return $substr; } if ($str_len >= $len && $start == 0) { return $substr . $next; } if ($str_len > ($len + $start) && $start != 0){ return $pre . $substr . $next; } if ($str_len >= $len && $start > 0) { return $pre . mb_substr($str, $start, $len, $charset); } return $str; }
下面是一个例子:
$str = '玄玄 博客(作者小柯),本博客本人刚学不久的ThinkPHP3.2.3编写的!感觉ThinkPHP真心是一个不错的框架(比本人写的CI框架更好用些)。如果感觉不错请各位大神多多关注!谢谢';
<a><{:cutstr($str,20,'...',0,'')}></a>更简洁的就是<a><{:cutstr($str,20)}>
谢谢大家的支持!!!