我遇到了这个问题,如何使用下方的“阅读更多”链接制作限制可读文字。我正在将自己的cms系统作为学校项目,所以我想将它添加到它。
我已经这样做了我能够创建一篇文章,但如果我在一篇文章中写出1000个单词,那么文本就会继续下去。我只有一点线索如何将文本限制为50-100个单词。
之前有人做过这件事可以帮助我解决他们是怎么做到的吗?
答案 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
方法中搜索此字符串,如果找到它:
这种方法有很多优点: