0

重複の可能性:
単語の境界でテキストを行に折り返す

ユーザーからtextarea入力を受け取り、30文字ごとに複数の行に分割する必要があります。難しいのは、単語を分割しないように、 ""(スペース)で改行が発生するようにする必要があることです。

これを理解しようとした私の最初の試みは次のようになりました。

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

また、上記は一度分割する必要のある文字列のみを処理することを私は知っています。最大6つの改行が必要です。

これについてどうやって行くのかアイデアはありますか?

4

1 に答える 1

2

word_wrapテキスト ヘルパーから使用します。

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

word_wrap(@square.text, :line_width => 30)
于 2012-10-08T22:49:49.717 に答える