Escape a string for use in HTML or the inverse

$ npm install escape-goat
const {htmlEscape, htmlUnescape} = require('escape-goat');htmlEscape('🦄 & 🐐');
//=> '🦄 & 🐐'
htmlUnescape('🦄 & 🐐');
//=> '🦄 & 🐐'
htmlEscape('Hello World');
//=> 'Hello <em>World</em>'
const url = 'https://sindresorhus.com?x="🦄"';
htmlEscapeUnicorn;
//=> 'Unicorn'
const escapedUrl = 'https://sindresorhus.com?x="🦄"';
htmlUnescapeURL from HTML: ${url};
//=> 'URL from HTML: https://sindresorhus.com?x="🦄"'
Escapes the following characters in the given string argument: & < > " '
The function also works as a tagged template literal that escapes interpolated values.
Unescapes the following HTML entities in the given htmlString argument: & < > " '
The function also works as a tagged template literal that unescapes interpolated values.
Ensure you always quote your HTML attributes to prevent possible XSS.
I couldn't find one I liked that was tiny, well-tested, and had both .escape() and .unescape().