PHP如何计算单词然后添加“更多”?

时间:2013-02-07 12:28:39

标签: php

我有这个:

<? if (strlen($item->introtext) > 300) { 
    echo substr($item->introtext, 0,300)." More"; 
    } else { 
    echo $item->introtext;}
?>

但它计算符号,我希望它计算单词。例如。在第10个单词后添加“更多”。

如何做到这一点,我想我必须用其他东西改变“strlen”?

3 个答案:

答案 0 :(得分:4)

使用 str_word_count() 功能。哪个会给出计数以及每秒参数的单词数组。欲了解更多信息

答案 1 :(得分:1)

您可以按空格分割,并计算您有多少单词:

$words = preg_split("/\s+/", $string, null, PREG_SPLIT_NO_EMPTY);

注意:

  • 我使用preg_split来克服连续的空格问题。
  • PREG_SPLIT_NO_EMPTY不包含空字。

$words现在包含所有单词的数组,您可count()知道自己有多少单词,array_slice()implode()可以从中获取字符串

答案 2 :(得分:0)

你可以在空格上爆炸字符串。那会给你一个包含每个单词条目的数组。然后,数组的计数将告诉您单词的数量。这种技术可能存在一些误报,因为[space]包围的所有东西都算作一个单词。