发布日期:2018-03-26
如何获得字符串的前n个字符?+ 查看更多
如何获得字符串的前n个字符?
+ 查看更多
发布日期:2017-09-03 20:53
分类:PHP
浏览次数:229
在PHP中如何获得字符串的前n个字符?最快的把一个字符串修改成前n个字符加...的字符串的方法是什么?
回答
//取字符串的前10个字符的最简单的版本 $string = substr($string,0,10).'...';
更新1:
基于检查长度的建议(同时也是保证修改后的字符串与修改前的长度相近):
$string = (strlen($string) > 13) ? substr($string,0,10).'...' : $string;
因此你会获得一个最多13个字符的字符串:一个长度小于等于13的原字符串或者一个由10的字符加'...'组成的字符串
更新2:
或者作为一个函数:
function truncate($string, $length, $dots = "...") { return (strlen($string) > $length) ? substr($string, 0, $length - strlen($dots)) . $dots : $string; }
更新3:
我写下这个答案已经一段时间了,但我并没有使用答案的代码。我更推荐这个函数因为它可以通过使用wordwrap()这个函数来避免字符串在单词的中间被折断:
function truncate($string,$length=100,$append="…") { $string = trim($string); if(strlen($string) > $length) { $string = wordwrap($string, $length); $string = explode("\n", $string, 2); $string = $string[0] . $append; } return $string; }