JavaScript: escape HTML entities
by Sebastian Kay
HTML
<button id="escape">Escape entities</button>
<textarea id="test"><a fdgsfgdsgsdf</textarea>
<p id="output"></p>
JavaScript
if (typeof escapeHtmlEntities === 'undefined') {
var escapeHtmlEntities = function(text) {
return text.replace(/[\u00A0-\u2666<>\&]/g, function(c) {
return '&' + (escapeHtmlEntities.entityTable[c.charCodeAt(0)] || '#' + c.charCodeAt(0)) + ';';
});
};
escapeHtmlEntities.entityTable = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": '''
}
}
var escape = document.getElementById('escape'),
test = document.getElementById('test').value,
output = document.getElementById('output');
var x = document.getElementById("test").value;
escape.onclick = function() {
alert(test);
var escaped = escapeHtmlEntities(test);
var text = document.createTextNode(escaped);
output.innerText = x;
};