JavaScript を使って HTML 文字をデエスケープする

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、JavaScript を使って HTML エスケープ文字をデエスケープする方法を探ります。HTML エスケープは、HTML 内の特殊文字をエンコードしてクロスサイトスクリプティング攻撃を防止するために一般的に使われる手法です。ただし、時々はエスケープされた文字を元の形式に戻す必要があります。この実験では、最も一般的な HTML 文字をデエスケープする関数を作成することで、その方法を学びます。

HTML のデエスケープ

この関数は、エスケープされた HTML 文字をデエスケープします。これを使用するには、次の手順に従ってください。

  1. ターミナル/SSH を開きます。
  2. node と入力します。
  3. 次のコードをコピーして貼り付けます。
const unescapeHTML = (str) =>
  str.replace(
    /&|<|>|'|"/g,
    (tag) =>
      ({
        "&": "&",
        "&lt;": "<",
        "&gt;": ">",
        "&#39;": "'",
        "&quot;": '"'
      })[tag] || tag
  );
  1. unescapeHTML 関数を呼び出し、エスケープされた文字を含む文字列を渡します。
  2. 関数はデエスケープされた文字列を返します。

使用例:

unescapeHTML("&lt;a href=&quot;#&quot;&gt;Me &amp; you&lt;/a&gt;");
// '<a href="#">Me & you</a>'

まとめ

おめでとうございます!HTML のデエスケープ実験を完了しました。技術力を向上させるために、LabEx でさらに実験を行って練習してください。