JSFiddle - React, Tailwind, and code Playground
JavaScript
var decodeEntities = (function() {
// this prevents any overhead from creating the object each time
var element = document.createElement('textarea');
function decodeHTMLEntities (str) {
if(str && typeof str === 'string') {
str = str.replace(/</g,"<");
element.innerHTML = str;
str = element.textContent;
element.textContent = '';
}
return str;
}
return decodeHTMLEntities;
})();
var attackStr = '&</textarea><img src=x onerror=alert(1)>ハローワールド';
var strDecoded; // I wish to get: &</textarea><img src=x onerror=alert(1)>ハローワールド
strDecoded = decodeEntities(attackStr);
console.log(strDecoded);
alert(strDecoded);