转义HTML

将字符串转义为在HTML中使用的形式。

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

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