我有一个将列出新闻文章的页面。为了减少页面的长度,我只想显示一个预告片(文章的前 200 个字/600 个字母),然后显示一个“更多...”链接,单击该链接时,将展开其余部分以 jQuery/Javascript 方式撰写的文章。现在,我已经弄清楚了,甚至在一些粘贴页面上找到了以下帮助方法,这将确保新闻文章(字符串)不会在单词中间被切碎:
def shorten (string, count = 30)
if string.length >= count
shortened = string[0, count]
splitted = shortened.split(/\s/)
words = splitted.length
splitted[0, words-1].join(" ") + ' ...'
else
string
end
end
我遇到的问题是我从数据库中获得的新闻文章正文是格式化的 HTML。所以如果我不走运,上面的助手会在 html 标签的中间切掉我的文章字符串,并在那里插入“more...”字符串(例如在“”之间),这会破坏我在页面上的 html .
有什么办法可以解决这个问题,还是有一个插件可以用来从 HTML 字符串生成摘录/预告片?