获取字符串的前n个字符

如何在PHP中获取字符串的前n个字符?将字符串修剪为特定数量的字符并在需要时附加“ …”的最快方法是什么?

回答:

//The simple version for 10 Characters from the beginning of the string

$string = substr($string,0,10).'...';

更新:

基于检查长度的建议(并确保修剪后的和未修剪的琴弦的长度相似):

$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;

}

以上是 获取字符串的前n个字符 的全部内容, 来源链接: utcz.com/qa/407189.html

回到顶部