0

我正在为我的博客应用程序使用 CKEditor,并将格式数据保存在我的:content属性中。

例如,一个特定的@post.content 可能会像这样开始。

<p>\r\n\t<span class=\"s1\" style=\"color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 1.1em; line-height: 1.7em;\">This is my text starting here. This is an really awesome entry, you see...

条目的第一部分是所有格式数据,实际写入的内容以“这是我的文本从这里开始......”开始

我想做的是显示书面内容的前五十个字符。

我尝试过这样的事情,

<%= post.content.first(50).try(:html_safe) %>

但这不会返回任何内容,除非格式化数据少于 50 个字符。

我如何才能显示书面内容的前 50 个字符?

如果不清楚,或者是否需要任何其他信息,请告诉我。非常感谢您的帮助!

4

2 回答 2

5

尝试使用strip_tags方法

例如

 <%= truncate(strip_tags(post.content), :length => 50, :omission => '..').html_safe %>
于 2013-01-07T06:42:37.220 回答
0

一种方法是使用 Nokogiri 提取原始文本。

require 'nokogiri'

text = Nokogiri::HTML(post.content).text.strip

以上将为您提供原始文本,您可以使用该truncate方法在其上显示前 50 个字符。

于 2013-01-07T06:42:41.923 回答