0

Railsでテキストをエスケープしようとしていますが、改行をhtmlの改行に置き換えたいです:

text = "Hi\n<b>there</b><i>italic</i>\nNewline"

私は単に使用します

<%=text.gsub(/\n/, "<br/>") %>

しかし、これはHi<br/><b>there</b><i>italic</i><br/>Newline私の実際の出力として私に与えます。

私が探しているのは(ブラウザに表示されるように)

Hi
<b>there</b>
<i>italic</i>
Newline

部分的にエスケープするにはどうすればよいですか (改行のみを置き換えたいのですが、エスケープしたい他のすべての HTML を置き換えたい)

4

2 に答える 2

0

最初にに置き換え<&lt;既存のHTMLをエスケープし、次に現在行っているようにに置き換え\nます<br />

于 2012-08-05T19:11:16.583 に答える
0

ここで HTML pre タグを使用する必要があると思います..

これは、あなたが尋ねたものを表示するはずです..

text = "<pre>Hi\n<b>there</b><i>italic</i>\nNewline</pre>"
<%= text %>
于 2012-08-05T20:52:27.077 に答える