I want to change several characters in a string in Node Js, and as it is not possible to use .replaceAll(), I am using .replace() with global variables this way:
function toHTML(content) { content = content.replace(/[i]/g, "<i>") .replace(/[/i]/g, "</i>") .replace(/[b]/g, "<b>") .replace(/[/b]/g, "</b>") .replace(/[u]/g, "<u>") .replace(/[/u]/g, "</u>") .replace(/[p]/g, "<p>") .replace(/[/p]/g, "</p>") .replace(/[cite]/g, "<cite>") .replace(/[/cite]/g, "</cite>") .replace(/[code]/g, "<code>") .replace(/[/code]/g, "</code>"); return content; }
If I try with the following string:
This is an example
The output is the following:
Th<<<<<<</code><</code></code></code></code>>it<</code></code></code></code>>>p>u>b><<</code><</code></code></code></code>>it<</code></code></code></code>>><</code><</code></code></code></code>>it<</code></code></code></code>>><</code><</code></code></code></code>>it<</code></code></code></code>>><</code><</code></code></code></code>>it<</code></code></code></code>>>>>>s <<<<<<</code><</code></code></code></code>>it<</code></code></code></code>>>p>u>b><<</code><</code></code></code></code>>it<</code></code></code></code>>><</code><</code></code></code></code>>it<</code></code></code></code>>><</code><</code></code></code></code>>it<</code></code></code></code>>><</code><</code></code></code></code>>it<</code></code></code></code>>>>>>s an <<</code><</code></code></code></code>>it<</code></code></code></code>>><</code><</code></code></code></code>>it<</code></code></code></code>>><</code><</code></code></code></code>>it<</code></code></code></code>>><</code><</code></code></code></code>>it<</code></code></code></code>>>>xam<<<</code><</code></code></code></code>>it<</code></code></code></code>>>p>>l<<</code><</code></code></code></code>>it<</code></code></code></code>>><</code><</code></code></code></code>>it<</code></code></code></code>>><</code><</code></code></code></code>>it<</code></code></code></code>>><</code><</code></code></code></code>>it<</code></code></code></code>>>>
Advertisement
Answer
Or, use (modified) as suggested by @epascarello:
string.replace(/[(/?(i|b|p|code|cite))]/g,"<$1>")