[prototype.js] HTMLのタグをサニタイズするサンプル
prototype.jsをインポートすると追加される「String.escapeHTML()」や「String.stripTags()」を使うと、HTMLのタグをサニタイズできます。
- 「String.escapeHTML()」は「<」や「>」などの文字列を「<」や「>」に置き換えます。
- 「String.stripTags()」はタグを除去します。
サンプルはこちら。サンプルのソースは以下です。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="prototype.js"></script> <script> function insert(f) { var str = 'aaa<b>bbb</b>ccc<br/>ddd<div style="color:red">div</div>'; $("out").innerHTML = f( str ); } </script> </head> <body> <div> <a href="javascript:insert( function(str){ return str; } );">サニタイズなし</a> | <a href="javascript:insert( function(str){ return str.escapeHTML(); } );">escapeHTML</a> | <a href="javascript:insert( function(str){ return str.stripTags(); } );">stripTags</a> </div> <div id="out"> </div> </body> </html>