1. ホーム
  2. ジャバスクリプト

[解決済み】JavaScriptでHTMLの特殊文字をエスケープすることはできますか?

2022-03-30 14:51:44

質問

JavaScriptの関数でHTMLにテキストを表示したいのですが、どうすればいいですか?JavaScriptでHTMLの特殊文字をエスケープするにはどうしたらよいですか?APIはあるのでしょうか?

どのように解決するのですか?

ほぼすべてのウェブブラウザで動作する解決策を紹介します。

function escapeHtml(unsafe)
{
    return unsafe
         .replace(/&/g, "&")
         .replace(/</g, "&lt;")
         .replace(/>/g, "&gt;")
         .replace(/"/g, "&quot;")
         .replace(/'/g, "&#039;");
 }

モダンウェブブラウザ(2020年以降)しかサポートしていない場合は、新しい 置き換えAll 関数を使用します。

const escapeHtml = (unsafe) => {
    return unsafe.replaceAll('&', '&amp;').replaceAll('<', '&lt;').replaceAll('>', '&gt;').replaceAll('"', '&quot;').replaceAll("'", '&#039;');
}