Edited at

ruby on railsのhtmlタグ除去のまとめ

More than 3 years have passed since last update.

かなりややこしいのでmemo(あってるかな...)


strip_tags


  • すべてのhtmlタグの除去


  • \r\n
\nで出力されるので注意;


<%= %>


  • すべてのhtmlタグをエスケープして出力


h ( = html_escape)


  • すべてのhtmlタグをエスケープして出力


simple_format


  • 以下条件を除いて、htmlタグをエスケープせずに出力


    • scriptタグは除去される

    • 全体がpタグで囲われる

    • \nは
      に変換

    • 連続した改行は

      が付与される






simple_format(h())


  • 以下条件を除いて、htmlタグをエスケープして出力


    • scriptタグは除去される

    • 全体がpタグで囲われる

    • \nは
      に変換

    • 連続した改行は

      が付与される






raw


  • すべてのhtmlタグをエスケープせずに出力


    • つまりscriptタグが変数に入っていたらエスケープされない

    • 上記理由(参照:リファレンス)より非推奨