1

我正在为我的自定义博客编写字数限制功能。我想限制索引页面上的单词并删除任何格式。目前我的代码是:

function limit_words($string, $word_limit){
  // Check if the string is too long
  $text=strip_tags($string);
  $words=explode(" ", $text);
  $size=sizeof($words);

  // Run the script
  if ($size >= $word_limit){
    return implode(" ", array_splice($words, 0, $word_limit).' <a href="#">Read more ...</a>');
  }
  else { return $text; }
}

效果很好,除非我有不止一个段落。如果我的第一段是 20 个单词,而我的限制是 50 个,它将去除标签和空格,但随后会将第一段的最后一个单词和第二段的第一个单词合并为一个单词。有没有办法确保段落之间有空格?我是新手,所以如果它是一个简单的解决方案,请告诉我它就是这么简单,我会将自己锁在地窖里,直到它沉入地下。或者类似的东西。

4

1 回答 1

0

查看 html-source,可能您的文本在段落之间使用换行符作为分隔符,这对 html 意义不大。并调试:打印出单词数组,查看段落限制。换行符没有空格“”,所以它保持“一个单词”。

如果它是换行符,则搜索替换它以<br/>在 html 中显示或使用段落。

于 2013-05-12T16:02:51.333 回答