每30个字符用\ n分解一个字符串

时间:2012-10-08 22:32:14

标签: ruby-on-rails ruby

  

可能重复:
  Wrapping text into lines at word boundaries

我需要从用户那里获取textarea输入,并且每30个字符将其分成多行。困难的部分是我还需要确保换行符发生在“”(空格)以便不分词。

我最初尝试解决这个问题的尝试看起来像这样:

if @square.text.length > 30
  text = @square.text[0, 31] + "\n" + @square.text[31, @square.text.length]
else
   text = @square.text
end

另外,我知道上面只处理需要拆分一次的字符串。我需要最多六次换行。

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

使用文本助手中的word_wrap

include ActionView::Helpers::TextHelper
# or, if you are in a controller
# helper :text

word_wrap(@square.text, :line_width => 30)