PHP 将文本限制为两行并在末尾添加点


PHP Limit text to two lines & add dots at the end

这家伙:https://stackoverflow.com/a/7239020/2453678 在这里发布了一个很好的答案:http://jsfiddle.net/imoda/REs2Q/

基本上,如果您想要一个优雅的解决方案,计算字符数是毫无疑问的,因为每个字母都有不同的权重。

问题是:

span {
    display: inline-block;
    border: black 1px solid;
    width: 200px;
    height: 40px;
    overflow: hidden;
}

如何修改上面的代码,那么在最后,如果字符串被缩短,则添加三个'.?

我在PHP中编写了一个简单的函数。

function limit_text($input, $n){
    $array = preg_split('~'R+~', $input);       // Split by newline(s)
    $array = array_slice($array, 0, $n);        // Get the first n parts
    $output = implode('<br>', $array) . '...';  // Implode and add some dots
    return $output;
}

以下是您的使用方法:

$str = 'span {
    display: inline-block;
    border: black 1px solid;
    width: 200px;
    height: 40px;
    overflow: hidden;
}';
echo '<pre>' . limit_text($str, 2); . '</pre>';