【问题标题】:Limit readable text with a 'read more' link?使用“阅读更多”链接限制可读文本?
【发布时间】:2015-03-18 12:00:39
【问题描述】:

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

我已经做了,所以我可以创建一篇文章,但是如果我在一篇文章中写了 1000 个字,文本就会继续。我只知道如何将文本限制为 50-100 个单词。

之前有人做过这个,可以帮我看看他们是怎么做的吗?

【问题讨论】:

  • 您使用什么编程语言?你有没有尝试过?
  • php。这就是它从数据库回显“

    ”中回显我的文本的方式。 $row['besked'] 。 '

    ';

标签: text limit


【解决方案1】:

这个想法是有两个方法 GetPreview(id, n)GetArticle(id) ,其中第一个只返回来自 Article 的第一个 n 单词,并带有指向调用第二种方法的页面的链接。

假设$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 标记中间的内容。

另一种实际上更安全且在流行的 CMS(如 WordPress)中使用的方法是使用特定的 HTML 注释装饰您的文章,例如:

<!-- more -->

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

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

  • 你会看到它前面的文字
  • 您附加一个“阅读更多”链接,将您重定向到完整文章

这种方法有很多优点:

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

【讨论】:

  • 所以如果你在 foreach ($conn->query($sql) as $row) { echo '

    '. $row['besked'] 。 '

    '; } 。您希望使用什么来限制文本并创建“阅读更多”链接?
猜你喜欢
  • 1970-01-01
  • 2013-03-29
  • 1970-01-01
  • 2012-11-01
  • 2013-03-25
  • 2015-02-04
  • 2017-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多