Escape HTML

OSCC · JavaScript, String, Browser, Regexp · Oct 13, 2021

Escapes a string for use in HTML.

  • Use String.prototype.replace() with a regexp that matches the characters that need to be escaped.
  • Use the callback function to replace each character instance with its associated escaped character using a dictionary object.
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;'

Recommended snippets

  • Unescape HTML

    JavaScript, String

    Unescapes escaped HTML characters.

  • Escape RegExp

    JavaScript, String

    Escapes a string to use in a regular expression.

  • HSL to object

    JavaScript, String

    Converts an hsl() color string to an object with the values of each color.