对于需要检查字符串是否超出给定长度的情况 ,如果确实如此,则截断并添加省略号我通常使用如下函数 但是想知道是否有人不能在一行代替, preg_replace也许?我该如何缩短php truncate函数?
function truncate($str, $length){
if (strLen($str) > $length) {
$str = substr($str, 0, $length) . ' ...';
}
return $str;
}
对于需要检查字符串是否超出给定长度的情况 ,如果确实如此,则截断并添加省略号我通常使用如下函数 但是想知道是否有人不能在一行代替, preg_replace也许?我该如何缩短php truncate函数?
function truncate($str, $length){
if (strLen($str) > $length) {
$str = substr($str, 0, $length) . ' ...';
}
return $str;
}
具有内嵌如果:
return strLen($str) > $length ? substr($str, 0, $length) . ' ...' : $str;
使用…而不是'...' – fiunchinho 2013-03-21 17:22:05
使用动态'$ length'价值,我不这么认为。使用静态长度,你可以使用你的子串行。 – 2013-03-21 17:23:38
为什么你在意如果你在一条线上做?你认为这会使你的程序运行速度有所不同。它可能不会除非你打电话截断数千次。如果您想了解代码的哪些部分很慢,请使用像XDebug这样的分析工具。 – 2013-03-21 17:25:40
你想要一个截断的截断?但是,严肃地说,你所得到的没有任何问题。它的工作原理和它不言自明。不要太在意削减已经很短的功能。除最简单的情况外,正则表达式在所有情况下往往是难以理解的。 – GordonM 2013-03-21 17:26:56