RAILSで改行を<br>変換する

phpにはnl2brという改行を<br />に変換する関数がある。これのrails版。厳密にはhtmlエスケープした上で改行コードを<br />に変換する。

railsで改行を<br>変換する

ns2brのrails版でapplication_helpers.rbに書いておく。viewでは<%= nl2br @msg %>のように使う。@msg="<strong>一行目</strong>\n二行目"に対してhbr(@msg)は"<strong>;一行目</strong><br />二行目"を返す。

def nl2br(str)
str.gsub(/\r\n|\r|\n/, "<br />")
end

railsでhtmlエスケープした上で改行を<br>変換する

html_escapeはh()のこと。application_helpers.rbに書いておく。viewでは<%= hbr @msg %>のように使う。これは<%= nl2br h(@msg) %>と同じ。

def hbr(str)
str = html_escape(str)
str.gsub(/\r\n|\r|\n/, "<br />")
end