PHP将文本限制为两行&最后加点

时间:2013-11-09 23:42:42

标签: php css

这家伙: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;
}

如何修改上面的代码,所以最后,如果字符串被缩短,三个'。'是吗?

1 个答案:

答案 0 :(得分:1)

我在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>';