JavaScriptで特殊文字をHTMLに変換する 質問する

JavaScriptで特殊文字をHTMLに変換する 質問する

JavaScript で特殊文字を HTML に変換するにはどうすればよいですか?

例:

  • &(アンパサンド) は になります&amp
  • "&quotが設定されていない場合は、(二重引用符) になりますENT_NOQUOTES
  • '(一重引用符) は、が設定されている&#039場合にのみ になりますENT_QUOTES
  • <(より小さい) は になります&lt
  • >(より大きい) は になります&gt

ベストアンサー1

私の意見では、多くの場合、ブラウザに組み込まれた HTML エスケープ機能を使用して処理するのが最善の方法です。これを行うには、DOM ツリーに要素を作成し、innerText要素の を文字列に設定するだけです。次に、innerHTML要素の を取得します。ブラウザは HTML エンコードされた文字列を返します。

function HtmlEncode(s)
{
  var el = document.createElement("div");
  el.innerText = el.textContent = s;
  s = el.innerHTML;
  return s;
}

テスト走行:

alert(HtmlEncode('&;\'><"'));

出力:

&amp;;'&gt;&lt;"

このHTMLエスケープ方法は、プロトタイプJSライブラリただし、私が示した単純なサンプルとは異なります。

注: 引用符 (二重引用符と単一引用符) は、自分でエスケープする必要があります。ここで他の人が説明している方法のいずれかを使用できます。

おすすめ記事