php中数据内容过长怎么用省略号表示 [ 新手入门 ]
RT. 还有就是中英文字符数目不一样,该如何解决?
共 5 条回复
-
-
davidhhuan 回复于 2011-10-27 18:01 举报
/** * cut the string with utf8 or gbk * * @author davidhhuan * @param string $string: the string you want to handle with * @param int $start * @param int $end * @param int $length: how long of the string you want * @param string $append: The end of the output string * @return string */ public function substr($string, $start = 0, $length = 0, $append = '...') { $string = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string); $stringLast = ""; if ($start < 0 || $length < 0 || strlen($string) <= $length) { $stringLast = $string; } elseif (file_exists('mb_substr')) { $stringLast = mb_substr($string, $start, $length); } else { $i = 0; while ($i < $length) { $stringTMP = substr($string, $i, 1); if ( ord($stringTMP) >=224 ) { $stringTMP = substr($string, $i, 3); $i = $i + 3; } elseif( ord($stringTMP) >=192 ) { $stringTMP = substr($string, $i, 2); $i = $i + 2; } else { $i = $i + 1; } $stringLast[] = $stringTMP; } $stringLast = implode("",$stringLast); } $stringLast = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $stringLast); if(!empty($append)) { $stringLast .= $append; } return $stringLast; }
-
francis.xia 回复于 2011-10-28 17:41 举报
我这儿有从kohana3移植过来的text类!要的Q我!
-
-
lz19881123 回复于 2011-11-02 12:48 举报
论坛里面不是有个截取字符的方法吗?论坛里面也可以看看的。
blue 苏州
注册时间:2011-10-20
最后登录:1970-01-01
在线时长:0小时0分
最后登录:1970-01-01
在线时长:0小时0分
- 粉丝0
- 金钱60
- 威望0
- 积分60