/**
* This library is design to manage characters, replacements, encoding ...
*
* This javascript needs prototype.js v1.4
*/
var characters = [
// { decimal: '"', symbol: 'A DOUBLE QUOTE HERE', entity: '"', octal: '42', hex: '0x22' },
{ decimal: '&', symbol: '&', entity: '&', octal: '46', hex: '0x26' },
{ decimal: '<', symbol: '<', entity: '<', octal: '74', hex: '0x3C' },
{ decimal: '>', symbol: '>', entity: '>', octal: '76', hex: '0x3E' },
{ decimal: ' ', symbol: ' ', entity: ' ', octal: '240', hex: '0xA0' },
{ decimal: '¡', symbol: '?', entity: '¡', octal: '241', hex: '0xA1' },
{ decimal: '¢', symbol: '?', entity: '¢', octal: '242', hex: '0xA2' },
{ decimal: '£', symbol: '?', entity: '£', octal: '243', hex: '0xA3' },
{ decimal: '¤', symbol: '¤', entity: '¤', octal: '244', hex: '0xA4' },
{ decimal: '¥', symbol: '?', entity: '¥', octal: '245', hex: '0xA5' },
{ decimal: '¦', symbol: '?', entity: '¦', octal: '246', hex: '0xA6' },
{ decimal: '§', symbol: '§', entity: '§', octal: '247', hex: '0xA7' },
{ decimal: '¨', symbol: '¨', entity: '¨', octal: '250', hex: '0xA8' },
{ decimal: '©', symbol: '?', entity: '©', octal: '251', hex: '0xA9' },
{ decimal: 'ª', symbol: '?', entity: 'ª', octal: '252', hex: '0xAA' },
{ decimal: '«', symbol: '?', entity: '«', octal: '253', hex: '0xAB' },
{ decimal: '¬', symbol: '?', entity: '¬', octal: '254', hex: '0xAC' },
{ decimal: '­', symbol: '', entity: '­', octal: '255', hex: '0xAD' },
{ decimal: '®', symbol: '?', entity: '®', octal: '256', hex: '0xAE' },
{ decimal: '¯', symbol: '?', entity: '¯', octal: '257', hex: '0xAF' },
{ decimal: '°', symbol: '°', entity: '°', octal: '260', hex: '0xB0' },
{ decimal: '±', symbol: '?', entity: '±', octal: '261', hex: '0xB1' },
{ decimal: '²', symbol: '?', entity: '²', octal: '262', hex: '0xB2' },
{ decimal: '³', symbol: '?', entity: '³', octal: '263', hex: '0xB3' },
{ decimal: '´', symbol: '´', entity: '´', octal: '264', hex: '0xB4' },
{ decimal: 'µ', symbol: '?', entity: 'µ', octal: '265', hex: '0xB5' },
{ decimal: '¶', symbol: '?', entity: '¶', octal: '266', hex: '0xB6' },
{ decimal: '·', symbol: '?', entity: '·', octal: '267', hex: '0xB7' },
{ decimal: '¸', symbol: '¸', entity: '¸', octal: '270', hex: '0xB8' },
{ decimal: '¹', symbol: '?', entity: '¹', octal: '271', hex: '0xB9' },
{ decimal: 'º', symbol: '?', entity: 'º', octal: '272', hex: '0xBA' },
{ decimal: '»', symbol: '?', entity: '»', octal: '273', hex: '0xBB' },
{ decimal: '¼', symbol: '?', entity: '¼', octal: '274', hex: '0xBC' },
{ decimal: '½', symbol: '?', entity: '½', octal: '275', hex: '0xBD' },
{ decimal: '¾', symbol: '?', entity: '¾', octal: '276', hex: '0xBE' },
{ decimal: '¿', symbol: '?', entity: '¿', octal: '277', hex: '0xBF' },
{ decimal: 'À', symbol: '?', entity: 'À', octal: '300', hex: '0xC0' },
{ decimal: 'Á', symbol: '??', entity: 'Á', octal: '301', hex: '0xC1' },
{ decimal: 'Â', symbol: '??', entity: 'Â', octal: '302', hex: '0xC2' },
{ decimal: 'Ã', symbol: '?', entity: 'Ã', octal: '303', hex: '0xC3' },
{ decimal: 'Ä', symbol: '??', entity: 'Ä', octal: '304', hex: '0xC4' },
{ decimal: 'Å', symbol: '?', entity: 'Å', octal: '305', hex: '0xC5' },
{ decimal: 'Æ', symbol: '?', entity: 'Æ', octal: '306', hex: '0xC6' },
{ decimal: 'Ç', symbol: '??', entity: 'Ç', octal: '307', hex: '0xC7' },
{ decimal: 'È', symbol: '?', entity: 'È', octal: '310', hex: '0xC8' },
{ decimal: 'É', symbol: '??', entity: 'É', octal: '311', hex: '0xC9' },
{ decimal: 'Ê', symbol: '?', entity: 'Ê', octal: '312', hex: '0xCA' },
{ decimal: 'Ë', symbol: '??', entity: 'Ë', octal: '313', hex: '0xCB' },
{ decimal: 'Ì', symbol: '?', entity: 'Ì', octal: '314', hex: '0xCC' },
{ decimal: 'Í', symbol: '??', entity: 'Í', octal: '315', hex: '0xCD' },
{ decimal: 'Î', symbol: '??', entity: 'Î', octal: '316', hex: '0xCE' },
{ decimal: 'Ï', symbol: '?', entity: 'Ï', octal: '317', hex: '0xCF' },
{ decimal: 'Ð', symbol: '?', entity: 'Ð', octal: '320', hex: '0xD0' },
{ decimal: 'Ñ', symbol: '?', entity: 'Ñ', octal: '321', hex: '0xD1' },
{ decimal: 'Ò', symbol: '?', entity: 'Ò', octal: '322', hex: '0xD2' },
{ decimal: 'Ó', symbol: '??', entity: 'Ó', octal: '323', hex: '0xD3' },
{ decimal: 'Ô', symbol: '??', entity: 'Ô', octal: '324', hex: '0xD4' },
{ decimal: 'Õ', symbol: '?', entity: 'Õ', octal: '325', hex: '0xD5' },
{ decimal: 'Ö', symbol: '??', entity: 'Ö', octal: '326', hex: '0xD6' },
{ decimal: '×', symbol: '??', entity: '×', octal: '327', hex: '0xD7' },
{ decimal: 'Ø', symbol: '?', entity: 'Ø', octal: '330', hex: '0xD8' },
{ decimal: 'Ù', symbol: '?', entity: 'Ù', octal: '331', hex: '0xD9' },
{ decimal: 'Ú', symbol: '??', entity: 'Ú', octal: '332', hex: '0xDA' },
{ decimal: 'Û', symbol: '?', entity: 'Û', octal: '333', hex: '0xDB' },
{ decimal: 'Ü', symbol: '??', entity: 'Ü', octal: '334', hex: '0xDC' },
{ decimal: 'Ý', symbol: '??', entity: 'Ý', octal: '335', hex: '0xDD' },
{ decimal: 'Þ', symbol: '?', entity: 'Þ', octal: '336', hex: '0xDE' },
{ decimal: 'ß', symbol: '??', entity: 'ß', octal: '337', hex: '0xDF' },
{ decimal: 'à', symbol: '?', entity: 'à', octal: '340', hex: '0xE0' },
{ decimal: 'á', symbol: 'á', entity: 'á', octal: '341', hex: '0xE1' },
{ decimal: 'â', symbol: 'â', entity: 'â', octal: '342', hex: '0xE2' },
{ decimal: 'ã', symbol: '?', entity: 'ã', octal: '343', hex: '0xE3' },
{ decimal: 'ä', symbol: 'ä', entity: 'ä', octal: '344', hex: '0xE4' },
{ decimal: 'å', symbol: '?', entity: 'å', octal: '345', hex: '0xE5' },
{ decimal: 'æ', symbol: '?', entity: 'æ', octal: '346', hex: '0xE6' },
{ decimal: 'ç', symbol: 'ç', entity: 'ç', octal: '347', hex: '0xE7' },
{ decimal: 'è', symbol: '?', entity: 'è', octal: '350', hex: '0xE8' },
{ decimal: 'é', symbol: 'é', entity: 'é', octal: '351', hex: '0xE9' },
{ decimal: 'ê', symbol: '?', entity: 'ê', octal: '352', hex: '0xEA' },
{ decimal: 'ë', symbol: 'ë', entity: 'ë', octal: '353', hex: '0xEB' },
{ decimal: 'ì', symbol: '?', entity: 'ì', octal: '354', hex: '0xEC' },
{ decimal: 'í', symbol: 'í', entity: 'í', octal: '355', hex: '0xED' },
{ decimal: 'î', symbol: 'î', entity: 'î', octal: '356', hex: '0xEE' },
{ decimal: 'ï', symbol: '?', entity: 'ï', octal: '357', hex: '0xEF' },
{ decimal: 'ð', symbol: '?', entity: 'ð', octal: '360', hex: '0xF0' },
{ decimal: 'ñ', symbol: '?', entity: 'ñ', octal: '361', hex: '0xF1' },
{ decimal: 'ò', symbol: '?', entity: 'ò', octal: '362', hex: '0xF2' },
{ decimal: 'ó', symbol: 'ó', entity: 'ó', octal: '363', hex: '0xF3' },
{ decimal: 'ô', symbol: 'ô', entity: 'ô', octal: '364', hex: '0xF4' },
{ decimal: 'õ', symbol: '?', entity: 'õ', octal: '365', hex: '0xF5' },
{ decimal: 'ö', symbol: 'ö', entity: 'ö', octal: '366', hex: '0xF6' },
{ decimal: '÷', symbol: '÷', entity: '÷', octal: '367', hex: '0xF7' },
{ decimal: 'ø', symbol: '?', entity: 'ø', octal: '370', hex: '0xF8' },
{ decimal: 'ù', symbol: '?', entity: 'ù', octal: '371', hex: '0xF9' },
{ decimal: 'ú', symbol: 'ú', entity: 'ú', octal: '372', hex: '0xFA' },
{ decimal: 'û', symbol: '?', entity: 'û', octal: '373', hex: '0xFB' },
{ decimal: 'ü', symbol: 'ü', entity: 'ü', octal: '374', hex: '0xFC' },
{ decimal: 'ý', symbol: 'ý', entity: 'ý', octal: '375', hex: '0xFD' },
{ decimal: 'þ', symbol: '?', entity: 'þ', octal: '376', hex: '0xFE' },
{ decimal: 'ÿ', symbol: '?', entity: 'ÿ', octal: '377', hex: '0xFF' }
);
var escapeCharacters = function(string) {
var toReturn = string;
for(charIndex=0; charIndex<characters.length; ++charIndex)
toReturn = toReturn.replace( characters[ charIndex ].symbol, characters[ charIndex ].entity );
return toReturn;
};
var encodeHtml = function(htmlString) {
var encodedHtml = escape(htmlString);
encodedHtml = encodedHtml.replace(///g,"%2F");
encodedHtml = encodedHtml.replace(/?/g,"%3F");
encodedHtml = encodedHtml.replace(/=/g,"%3D");
encodedHtml = encodedHtml.replace(/&/g,"%26");
encodedHtml = encodedHtml.replace(/@/g,"%40");
return encodedHtml;
};
JavaScript