我怎样才能缩短php截断功能?

时间:2013-03-21 17:19:27

标签: php regex

对于需要检查字符串是否超过给定长度的情况 如果它然后截断并添加省略号我通常使用如下函数 但是想知道是否一个人不能在一行中这样做,preg_replace也许?

function truncate($str, $length){

    if (strLen($str) > $length) {
        $str = substr($str, 0, $length) . ' ...';
    }
    return $str;
}

2 个答案:

答案 0 :(得分:5)

使用内联if:

return strLen($str) > $length ? substr($str, 0, $length) . ' ...'  : $str;

答案 1 :(得分:3)

如果您正在寻找正则表达式解决方案:

function truncate($str, $length) {
    return preg_replace('/(.{'.(int)$length.'}).+/s', '$1 ...', $str);
}