[Edit]
+
0
-
0

Node.js - escape HTML special characters

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
// Note: if you are looking for optimal solution check this snippet: https://dirask.com/snippets/Node-js-escape-HTML-special-characters-DKgEnD const HTML_RULES = [ { expression: /&/g, replacement: '&amp;' }, // keep this rule at first position { expression: /</g, replacement: '&lt;' }, { expression: />/g, replacement: '&gt;' }, { expression: /"/g, replacement: '&quot;' }, { expression: /'/g, replacement: '&#039;' } // or &#39; or &#0039; // &apos; is not supported by IE8 // &apos; is not defined in HTML 4 ]; const escapeHtml = (html) => { let result = html; for (const rule of HTML_RULES) { result = result.replace(rule.expression, rule.replacement); } return result; }; // Usage example: console.log(escapeHtml('<div class="message">Hi!</div>')); // &lt;div class=&quot;message&quot;&gt;Hi!&lt;/div&gt; // Output: // // &lt;div class=&quot;message&quot;&gt;Hi!&lt;/div&gt;
Reset