對於需要檢查字符串是否超出給定長度的情況 ,如果確實如此,則截斷並添加省略號我通常使用如下函數 但是想知道是否有人不能在一行代替, 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