反转义HTML

反转义已转义的HTML字符。

  • 使用String.prototype.replace()和匹配需要反转义的字符的正则表达式。
  • 使用函数的回调来使用字典(对象)将每个转义字符实例替换为其对应的未转义字符。
const unescapeHTML = str =>
  str.replace(
    /&|<|>|'|"/g,
    tag =>
      ({
        '&': '&',
        '&lt;': '<',
        '&gt;': '>',
        '&#39;': "'",
        '&quot;': '"'
      }[tag] || tag)
  );

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