只返回指定数量的单词

时间:2012-03-03 11:20:57

标签: php nl2br

我有一些带有HTML标记的文本,我只想输出40个单词。

e.g。

<strong>This is an article </strong> containing 150 words with <a href="">HTML
</a>tags and I want to output only first 40 words. How to do this?

我现在正在使用nl2br,因为它有EOL。 explode()str_word_count仅考虑常规字词。

1 个答案:

答案 0 :(得分:1)

所以经过一些谷歌搜索后,我找到了我要找的东西(在这个论坛http://www.webmasterworld.com/forum88/10821.htm

该函数从字符串中剪切指定数量的字符,然后将字符添加到下一个空格(以防止在单词的中间切割)。

function elliStr($string,$noChars) { 
    for ($i = 0; $i < strlen($string); $i++) { 
    $result = ($noChars+$i >= strlen($string) ? $string : ($string{$noChars+$i} == " " ? substr($string,0,$noChars+$i) : ""));
    if ( $result != "" ) {
        return nl2br($result);
        } 
    }
}