0

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

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

4

1 回答 1

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>';
于 2013-11-10T00:01:55.300 回答