デモ:jQueryを使って簡単にHTMLサニタイズをする。ついでに改行コードをbrタグに置き換える。


クリックすると以下のコードが実行されます。

  <script>
  $(function() {
    $('input[name="btn_demo"]').on('click', function() {
      // 適当にそれっぽい値を用意
      var str = '!"#$%&\'()<br />aaa\nbbb';
      
      // HTMLサニタイジング(HTML文字列を無害化し、改行コードをbrタグに置き換え)
      var esc_str = $('<dummy>').text(str).html().replace(/\r\n|\r|\n/g, '<br>');
      
      // HTMLサニタイズしたものをHTMLとして出力
      $('#esc_str_id').html(esc_str);
    });
  });
  </script>
  <input type="button" name="btn_demo" value="button" />
  <br />
  <div id="esc_str_id" style=""></div>
  
	


■HTMLサニタイズしたものをHTMLとして出力した結果(※改行タグは無害化されているので改行されません。改行コードはbrタグに置き換えされているので改行されます。)




■HTMLサニタイズされた文字列の例(※コードの状態ではこのようになっています)
!"#$%&amp;'()&lt;br /&gt;aaa<br />bbb