ホーム > カテゴリ > HTML5・JavaScript >

JavaScriptでhtmlspecialchars()

JavaScriptではPHPのhtmlspecialchars()に相当する関数はありません。ですので次のような関数を自前で作成します。

htmlspecialchars 関数

次の特殊文字をHTMLエンティティ(文字実体参照)に変換する。

特殊文字文字実体参照読み方
&&アンパサンド
""ダブルクォート
'シングルクォート
<&lt;小なり
>&gt;大なり

function htmlspecialchars(str){
  return (str + '').replace(/&/g,'&amp;')
                   .replace(/"/g,'&quot;')
                   .replace(/'/g,'&#039;')
                   .replace(/</g,'&lt;')
                   .replace(/>/g,'&gt;'); 
}

この関数はPHP標準関数のhtmlspecialchars()と同じ結果になります。正規表現でも変換可能ですが、String.replaceの方がコードがわかりやすいと思います。

Webシステムやアプリなどでサーバー側の処理がある場合はサーバーサイドの言語で特殊文字を変換可能ですが、JavaScriptだけで動作するアプリなどではこのような関数が必要となります。





関連記事



公開日:2016年08月03日
記事NO:02112