使用“阅读更多”链接限制可读文字?

时间:2015-03-18 12:00:40

标签: text limit

我遇到了这个问题,如何使用下方的“阅读更多”链接制作限制可读文字。我正在将自己的cms系统作为学校项目,所以我想将它添加到它。

我已经这样做了我能够创建一篇文章,但如果我在一篇文章中写出1000个单词,那么文本就会继续下去。我只有一点线索如何将文本限制为50-100个单词。

之前有人做过这件事可以帮助我解决他们是怎么做到的吗?

1 个答案:

答案 0 :(得分:1)

我们的想法是有两个方法GetPreview(id, n)GetArticle(id),其中第一个方法只返回n中的第一个Article个字词,其中包含指向调用第二个方法的页面的链接

假设$articleText是您文章的内容,并且被视为由空格分隔,则GetPreview函数的一部分将如下所示:

$words = explode(" ", $articleText);
if (count($words) <= $n)
   return $articleText; //unchanged

$preview = array_splice($words, 0, $n); //n is the number of words
return implode(" ", $preview) . "... <br />" .
<a href=\"ViewArticle.php?id=" . $articleId . "\">Read More </a>";

其中ViewArticle.php应该是另一个加载整篇文章的页面。 但是,这是一个适用于纯文本文章的示例。如果您的文章包含HTML,则提取预览的方法会变得更加复杂,因为您不希望它破坏HTML标记中间的内容。

另一种方法,实际上更安全,并在像WordPress这样的流行CMS中使用,用装饰你的文章,使用特定的HTML评论,如:

<!-- more -->

当您展示整篇文章时,您不必做任何特别的事情,因为浏览器不会显示这些内容(请记住,这是评论)。

但是,在您的GetPreview方法中搜索此字符串,如果找到它:

  • 你收到它之前的文字
  • 你追加了一个“阅读更多”&#39;将您重定向到完整文章的链接

这种方法有很多优点:

  • 您可以放心地在文章中使用HTML。
  • 作者可以完全控制预览的外观。