私は、Railsに移行しようとしている古いブログ投稿でデータベースを詰め込んでいます。体のフィールドは、このような形式を持って見ての記事で構成されていますRails 3で安全なHTMLをレンダリングする
Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text.
<iframe src="http://www.youtube.com?v=XXXXXXXX" width="400" height="250"></iframe>
Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text.
<ul>
<li>List item</li>
<li>List item</li>
<li>List item</li>
<li>List item</li>
</ul>
Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text. Paragraph text paragraph text paragraph text and even more paragraph text.
それでは、私がやろうとしていること<p>
で段落テキストを折り返す、単独では他のHTML要素を残しています。ここで私が試したものです:
simple_format(@ post.body)を=これは、すべての周り<p>
を置きますが、また、各リスト項目間の区切りと私の順不同リストを汚染します。また、iframe埋め込みは表示されません。
生(@ post.body)またはpost.body.html_safe @ = iframeの埋め込みと順不同リストは偉大な表示が、新しい行のための置換はありませんので、すべてが一緒に実行されています。
simple_format(@ post.body、{}、{:sanitize => false}) =クールです。今、私はすべてのHTMLタグを見ることができます! post.body.gsub @すべて
で働く(/ \ Rの\ nは?/ "<br/>
")simple_formatと同様に =同じ問題を.html_safeません...私は私の中に改行を取得していますHTMLブロック要素タグ。
これを達成するための提案はありますか?
注意を望むものだと思います! unsanitized、untrusted文字列で 'html_safe'を呼び出すと*あなたはXSS攻撃を受けることになります。何かの上で 'html_safe'を呼び出す場合、その文字列に信頼できないユーザ入力が含まれていないことを絶対に確かめなければなりません。 – Ajedi32