PHP:在字边界处截断文本

时间:2009-08-13 07:56:00

标签: php drupal

是否有人具有Drupal用于转换以下字符串的函数的确切名称:

“你好,你好吗?还有一些文字。”

“你好,怎么......”

即。用于在x个单词后切断句子,然后添加省略号的函数。或者,如果有人有一个PHP片段,这样做也会很棒!

5 个答案:

答案 0 :(得分:6)

function getFirstWords($string, $words = 1)
{
    $string = explode(' ', $string);

    if (count($string) > $words)
    {
        return implode(' ', array_slice($string, 0, $words)) . '...';
    }

    return implode(' ', $string);
}

echo getFirstWords('Hello, how are you. Some more text.', 2); // Hello, how...

答案 1 :(得分:6)

truncate_utf8()似乎是unicode.inc

答案 2 :(得分:2)

答案 3 :(得分:1)

我认为你正在寻找尊重词边界的截断。我不知道Drupal是如何做到的,但是代码很here

答案 4 :(得分:1)

您可以使用函数views_trim_text($ alter,$ value)

查看更多详情https://api.drupal.org/api/views/views.module/function/views_trim_text/7

$alter['html'] = TRUE;
$alter['max_length'] = 200;
$alter['word_boundary'] = TRUE;
$alter['ellipsis'] = TRUE;
print views_trim_text($alter, $output);