我正在建设一个使用rails 3.1的网站,它的核心部分由一大堆文章组成(类似于博客文章)。这些被存储和格式化为HTML。现在,我需要的是生成文章内容的预览,以便在这些文章的提要中仅显示简短的版本。内容将不得不缩短而不会破坏它的HTML。用HTML内容显示文章的缩写版本
有没有简单的方法来做到这一点?一颗宝石会是完美的,但是对于一个干净的方式来实现缩短功能的想法本身也会很棒。谢谢!
编辑: 做进一步的实验,我目前有这种东西的工作,使用Sanitize gem,它似乎工作得非常好:
def shortened_content(length)
Sanitize.clean(content[0..length], Sanitize::Config::RELAXED)
end
我不喜欢稀释和改变我的问题的方向,但我想我必须。
是否有更好的解决方案? (我认为,消毒宝石会去掉不需要的内容以及清理HTML,我只是真的需要它来清理HTML)
我在想我应该把这个处理移到上游东西的?也就是说,存储缩短的内容以及完整的内容。我想它会为我节省足够的处理时间,使其值得额外存储。
我会使用[HTML :: Trim](https://metacpan.org/module/HTML::Trim),但我不是Ruby用户。不过,它的源代码可能会有帮助。 – Quentin