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 = {
  '&': '&amp',
  '<': '&lt',
  '>': '&gt',
  '"': '&quot',
  "'": '&#39'
}
}

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;


};