我使用simple_format(@ company.description)将文本分成若干段落。在一个页面上,我只想展示前三段。是否有任何漂亮的红宝石方法可以在这里提供帮助,或者我应该阅读我的正则表达技巧,这些技巧已经过时了。
干杯卡尔
答案 0 :(得分:0)
truncate helper method采用可选的:separator
。由于simple_format使用<br />
标记来指示段落,因此您应该可以执行以下操作:
truncate(simple_format(@company.description), length: 3, separator: '<br />')
答案 1 :(得分:-2)
就个人而言,在将文本放入格式化程序之前,我会对其进行舍入。我假设你的文字中有\ r \ n或\ n。如果您需要的是第3个,为什么要格式化1000个段落。
def get_first_paragraphs(text, desired = 3)
text.each_with_index do |character, index|
if(character == "\n")
desiredParCount -= 1
return text[0..index] if(desiredParCount <= 0)
end
end
return text;
end
这是一个确定的功能,但它是最快的方法..如果速度很重要。 (它总是,总是!):)