escapeHTML
Escapes a string for use in HTML.
Use String.prototype.replace()
with a regexp that matches the characters that need to be escaped, using a callback function to replace each character instance with its associated escaped character using a dictionary (object).
typescript
export enum HTMLEscapeChars {
"&" = "&",
"<" = "<",
">" = ">",
"'" = "'",
'"' = """,
}
const htmlEscapeReg = new RegExp(`[${Object.keys(HTMLEscapeChars)}]`, "g");
const escapeHTML = (str: string) =>
str.replace(
htmlEscapeReg,
(tag: string) => (HTMLEscapeChars as StringMap<string>)[tag] || tag
);
typescript
escapeHTML('<a href="#">Me & you</a>'); // '<a href="#">Me & you</a>'