1 2String.prototype.htmlEntities = function() { 3 return this.htmlentities(); 4} 5 6String.prototype.htmlentities = function() { 7 string = this; 8 9 var histogram = {}, code = 0, tmp_arr = [], i = 0; 10 var stringl = 0; 11 12 histogram['34'] = 'quot'; 13 histogram['38'] = 'amp'; 14 histogram['60'] = 'lt'; 15 histogram['62'] = 'gt'; 16 histogram['160'] = 'nbsp'; 17 histogram['161'] = 'iexcl'; 18 histogram['162'] = 'cent'; 19 histogram['163'] = 'pound'; 20 histogram['164'] = 'curren'; 21 histogram['165'] = 'yen'; 22 histogram['166'] = 'brvbar'; 23 histogram['167'] = 'sect'; 24 histogram['168'] = 'uml'; 25 histogram['169'] = 'copy'; 26 histogram['170'] = 'ordf'; 27 histogram['171'] = 'laquo'; 28 histogram['172'] = 'not'; 29 histogram['173'] = 'shy'; 30 histogram['174'] = 'reg'; 31 histogram['175'] = 'macr'; 32 histogram['176'] = 'deg'; 33 histogram['177'] = 'plusmn'; 34 histogram['178'] = 'sup2'; 35 histogram['179'] = 'sup3'; 36 histogram['180'] = 'acute'; 37 histogram['181'] = 'micro'; 38 histogram['182'] = 'para'; 39 histogram['183'] = 'middot'; 40 histogram['184'] = 'cedil'; 41 histogram['185'] = 'sup1'; 42 histogram['186'] = 'ordm'; 43 histogram['187'] = 'raquo'; 44 histogram['188'] = 'frac14'; 45 histogram['189'] = 'frac12'; 46 histogram['190'] = 'frac34'; 47 histogram['191'] = 'iquest'; 48 histogram['192'] = 'Agrave'; 49 histogram['193'] = 'Aacute'; 50 histogram['194'] = 'Acirc'; 51 histogram['195'] = 'Atilde'; 52 histogram['196'] = 'Auml'; 53 histogram['197'] = 'Aring'; 54 histogram['198'] = 'AElig'; 55 histogram['199'] = 'Ccedil'; 56 histogram['200'] = 'Egrave'; 57 histogram['201'] = 'Eacute'; 58 histogram['202'] = 'Ecirc'; 59 histogram['203'] = 'Euml'; 60 histogram['204'] = 'Igrave'; 61 histogram['205'] = 'Iacute'; 62 histogram['206'] = 'Icirc'; 63 histogram['207'] = 'Iuml'; 64 histogram['208'] = 'ETH'; 65 histogram['209'] = 'Ntilde'; 66 histogram['210'] = 'Ograve'; 67 histogram['211'] = 'Oacute'; 68 histogram['212'] = 'Ocirc'; 69 histogram['213'] = 'Otilde'; 70 histogram['214'] = 'Ouml'; 71 histogram['215'] = 'times'; 72 histogram['216'] = 'Oslash'; 73 histogram['217'] = 'Ugrave'; 74 histogram['218'] = 'Uacute'; 75 histogram['219'] = 'Ucirc'; 76 histogram['220'] = 'Uuml'; 77 histogram['221'] = 'Yacute'; 78 histogram['222'] = 'THORN'; 79 histogram['223'] = 'szlig'; 80 histogram['224'] = 'agrave'; 81 histogram['225'] = 'aacute'; 82 histogram['226'] = 'acirc'; 83 histogram['227'] = 'atilde'; 84 histogram['228'] = 'auml'; 85 histogram['229'] = 'aring'; 86 histogram['230'] = 'aelig'; 87 histogram['231'] = 'ccedil'; 88 histogram['232'] = 'egrave'; 89 histogram['233'] = 'eacute'; 90 histogram['234'] = 'ecirc'; 91 histogram['235'] = 'euml'; 92 histogram['236'] = 'igrave'; 93 histogram['237'] = 'iacute'; 94 histogram['238'] = 'icirc'; 95 histogram['239'] = 'iuml'; 96 histogram['240'] = 'eth'; 97 histogram['241'] = 'ntilde'; 98 histogram['242'] = 'ograve'; 99 histogram['243'] = 'oacute'; 100 histogram['244'] = 'ocirc'; 101 histogram['245'] = 'otilde'; 102 histogram['246'] = 'ouml'; 103 histogram['247'] = 'divide'; 104 histogram['248'] = 'oslash'; 105 histogram['249'] = 'ugrave'; 106 histogram['250'] = 'uacute'; 107 histogram['251'] = 'ucirc'; 108 histogram['252'] = 'uuml'; 109 histogram['253'] = 'yacute'; 110 histogram['254'] = 'thorn'; 111 histogram['255'] = 'yuml'; 112 113 stringl = string.length 114 for (i = 0; i < stringl; ++i) { 115 code = string.charCodeAt(i); 116 if (code in histogram) { 117 tmp_arr[i] = '&'+histogram[code]+';'; 118 } else { 119 tmp_arr[i] = string.charAt(i); 120 } 121 } 122 123 return tmp_arr.join(''); 124} 125function get_html_translation_table (table, quote_style) { 126 // http://kevin.vanzonneveld.net 127 // + original by: Philip Peterson 128 // + revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) 129 // + bugfixed by: noname 130 // + bugfixed by: Alex 131 // + bugfixed by: Marco 132 // + bugfixed by: madipta 133 // + improved by: KELAN 134 // + improved by: Brett Zamir (http://brett-zamir.me) 135 // + bugfixed by: Brett Zamir (http://brett-zamir.me) 136 // + input by: Frank Forte 137 // + bugfixed by: T.Wild 138 // + input by: Ratheous 139 // % note: It has been decided that we're not going to add global 140 // % note: dependencies to php.js, meaning the constants are not 141 // % note: real constants, but strings instead. Integers are also supported if someone 142 // % note: chooses to create the constants themselves. 143 // * example 1: get_html_translation_table('HTML_SPECIALCHARS'); 144 // * returns 1: {'"': '"', '&': '&', '<': '<', '>': '>'} 145 var entities = {}, 146 hash_map = {}, 147 decimal; 148 var constMappingTable = {}, 149 constMappingQuoteStyle = {}; 150 var useTable = {}, 151 useQuoteStyle = {}; 152 153 // Translate arguments 154 constMappingTable[0] = 'HTML_SPECIALCHARS'; 155 constMappingTable[1] = 'HTML_ENTITIES'; 156 constMappingQuoteStyle[0] = 'ENT_NOQUOTES'; 157 constMappingQuoteStyle[2] = 'ENT_COMPAT'; 158 constMappingQuoteStyle[3] = 'ENT_QUOTES'; 159 160 useTable = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS'; 161 useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT'; 162 163 if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') { 164 throw new Error("Table: " + useTable + ' not supported'); 165 // return false;
vendor: 5,242 bytes, lines 166-312
166 } 167 168 entities['38'] = '&'; 169 if (useTable === 'HTML_ENTITIES') { 170 entities['160'] = ' '; 171 entities['161'] = '¡'; 172 entities['162'] = '¢'; 173 entities['163'] = '£'; 174 entities['164'] = '¤'; 175 entities['165'] = '¥'; 176 entities['166'] = '¦'; 177 entities['167'] = '§'; 178 entities['168'] = '¨'; 179 entities['169'] = '©'; 180 entities['170'] = 'ª'; 181 entities['171'] = '«'; 182 entities['172'] = '¬'; 183 entities['173'] = '­'; 184 entities['174'] = '®'; 185 entities['175'] = '¯'; 186 entities['176'] = '°'; 187 entities['177'] = '±'; 188 entities['178'] = '²'; 189 entities['179'] = '³'; 190 entities['180'] = '´'; 191 entities['181'] = 'µ'; 192 entities['182'] = '¶'; 193 entities['183'] = '·'; 194 entities['184'] = '¸'; 195 entities['185'] = '¹'; 196 entities['186'] = 'º'; 197 entities['187'] = '»'; 198 entities['188'] = '¼'; 199 entities['189'] = '½'; 200 entities['190'] = '¾'; 201 entities['191'] = '¿'; 202 entities['192'] = 'À'; 203 entities['193'] = 'Á'; 204 entities['194'] = 'Â'; 205 entities['195'] = 'Ã'; 206 entities['196'] = 'Ä'; 207 entities['197'] = 'Å'; 208 entities['198'] = 'Æ'; 209 entities['199'] = 'Ç'; 210 entities['200'] = 'È'; 211 entities['201'] = 'É'; 212 entities['202'] = 'Ê'; 213 entities['203'] = 'Ë'; 214 entities['204'] = 'Ì'; 215 entities['205'] = 'Í'; 216 entities['206'] = 'Î'; 217 entities['207'] = 'Ï'; 218 entities['208'] = 'Ð'; 219 entities['209'] = 'Ñ'; 220 entities['210'] = 'Ò'; 221 entities['211'] = 'Ó'; 222 entities['212'] = 'Ô'; 223 entities['213'] = 'Õ'; 224 entities['214'] = 'Ö'; 225 entities['215'] = '×'; 226 entities['216'] = 'Ø'; 227 entities['217'] = 'Ù'; 228 entities['218'] = 'Ú'; 229 entities['219'] = 'Û'; 230 entities['220'] = 'Ü'; 231 entities['221'] = 'Ý'; 232 entities['222'] = 'Þ'; 233 entities['223'] = 'ß'; 234 entities['224'] = 'à'; 235 entities['225'] = 'á'; 236 entities['226'] = 'â'; 237 entities['227'] = 'ã'; 238 entities['228'] = 'ä'; 239 entities['229'] = 'å'; 240 entities['230'] = 'æ'; 241 entities['231'] = 'ç'; 242 entities['232'] = 'è'; 243 entities['233'] = 'é'; 244 entities['234'] = 'ê'; 245 entities['235'] = 'ë'; 246 entities['236'] = 'ì'; 247 entities['237'] = 'í'; 248 entities['238'] = 'î'; 249 entities['239'] = 'ï'; 250 entities['240'] = 'ð'; 251 entities['241'] = 'ñ'; 252 entities['242'] = 'ò'; 253 entities['243'] = 'ó'; 254 entities['244'] = 'ô'; 255 entities['245'] = 'õ'; 256 entities['246'] = 'ö'; 257 entities['247'] = '÷'; 258 entities['248'] = 'ø'; 259 entities['249'] = 'ù'; 260 entities['250'] = 'ú'; 261 entities['251'] = 'û'; 262 entities['252'] = 'ü'; 263 entities['253'] = 'ý'; 264 entities['254'] = 'þ'; 265 entities['255'] = 'ÿ'; 266 } 267 268 if (useQuoteStyle !== 'ENT_NOQUOTES') { 269 entities['34'] = '"'; 270 } 271 if (useQuoteStyle === 'ENT_QUOTES') { 272 entities['39'] = '''; 273 } 274 entities['60'] = '<'; 275 entities['62'] = '>'; 276 277 278 // ascii decimals to real symbols 279 for (decimal in entities) { 280 if (entities.hasOwnProperty(decimal)) { 281 hash_map[String.fromCharCode(decimal)] = entities[decimal]; 282 } 283 } 284 285 return hash_map; 286} 287function html_entity_decode (string, quote_style) { 288 // http://kevin.vanzonneveld.net 289 // + original by: john (http://www.jd-tech.net) 290 // + input by: ger 291 // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) 292 // + revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) 293 // + bugfixed by: Onno Marsman 294 // + improved by: marc andreu 295 // + revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) 296 // + input by: Ratheous 297 // + bugfixed by: Brett Zamir (http://brett-zamir.me) 298 // + input by: Nick Kolosov (http://sammy.ru) 299 // + bugfixed by: Fox 300 // - depends on: get_html_translation_table 301 // * example 1: html_entity_decode('Kevin & van Zonneveld'); 302 // * returns 1: 'Kevin & van Zonneveld' 303 // * example 2: html_entity_decode('&lt;'); 304 // * returns 2: '<' 305 var hash_map = {}, 306 symbol = '', 307 tmp_str = '', 308 entity = ''; 309 tmp_str = string.toString(); 310 311 if (false === (hash_map = this.get_html_translation_table('HTML_ENTITIES', quote_style))) { 312 return false;
313 } 314 315 // fix & problem 316 // http://phpjs.org/functions/get_html_translation_table:416#comment_97660 317 delete(hash_map['&']); 318 hash_map['&'] = '&'; 319 320 for (symbol in hash_map) { 321 entity = hash_map[symbol]; 322 tmp_str = tmp_str.split(entity).join(symbol); 323 } 324 tmp_str = tmp_str.split(''').join("'"); 325 326 return tmp_str; 327}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.