dracoblue.net

Spezielle XML Zeichen in Javascript Enkodieren/Dekodieren

Wenn man in Javascript die

HtmlSpecialChars in ungefährlichen Text und wieder zurück konvertieren möchte, hat man meist die zugänglichen Funktionen auf den Dom-Elementen (in mootools sind das .get('html') und .get('text')).

Wenn man aber einfach simple Strings html enkodieren/dekodieren will, benutze ich die folgenden Funktionen:

var xml_special_to_escaped_one_map = {
    '&': '&',
    '"': '"',
    '<': '<',
    '>': '>'
};
 
var escaped_one_to_xml_special_map = {
    '&': '&',
    '"': '"',
    '<': '<',
    '>': '>'
};
 
function encodeXml(string) {
	return string.replace(/([\&"<>])/g, function(str, item) {
		return xml_special_to_escaped_one_map[item];
	});
};
 
function decodeXml(string) {
	return string.replace(/("|<|>|&)/g,
		function(str, item) {
			return escaped_one_to_xml_special_map[item];
	});
}
In JavaScript, Mootools by
@ 2009-12-23, Comments at Reddit & Hackernews