123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318 |
- /**
- * [js-htmlencode]{@link https://github.com/emn178/js-htmlencode}
- *
- * @version 0.3.0
- * @author Chen, Yi-Cyuan [emn178@gmail.com]
- * @copyright Chen, Yi-Cyuan 2014-2017
- * @license MIT
- */
- /*jslint bitwise: true */
- (function () {
- 'use strict';
- var root = typeof window === 'object' ? window : {};
- var NODE_JS = !root.JS_HTMLENCODE_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;
- if (NODE_JS) {
- root = global;
- }
- var COMMON_JS = !root.JS_HTMLENCODE_NO_COMMON_JS && typeof module === 'object' && module.exports;
- var AMD = typeof define === 'function' && define.amd;
- var HTML_ENTITIES = {
- ' ' : '\u00A0',
- '¡' : '\u00A1',
- '¢' : '\u00A2',
- '£' : '\u00A3',
- '¤' : '\u00A4',
- '¥' : '\u00A5',
- '¦' : '\u00A6',
- '§' : '\u00A7',
- '¨' : '\u00A8',
- '©' : '\u00A9',
- 'ª' : '\u00AA',
- '«' : '\u00AB',
- '¬' : '\u00AC',
- '­' : '\u00AD',
- '®' : '\u00AE',
- '¯' : '\u00AF',
- '°' : '\u00B0',
- '±' : '\u00B1',
- '²' : '\u00B2',
- '³' : '\u00B3',
- '´' : '\u00B4',
- 'µ' : '\u00B5',
- '¶' : '\u00B6',
- '·' : '\u00B7',
- '¸' : '\u00B8',
- '¹' : '\u00B9',
- 'º' : '\u00BA',
- '»' : '\u00BB',
- '¼' : '\u00BC',
- '½' : '\u00BD',
- '¾' : '\u00BE',
- '¿' : '\u00BF',
- 'À' : '\u00C0',
- 'Á' : '\u00C1',
- 'Â' : '\u00C2',
- 'Ã' : '\u00C3',
- 'Ä' : '\u00C4',
- 'Å' : '\u00C5',
- 'Æ' : '\u00C6',
- 'Ç' : '\u00C7',
- 'È' : '\u00C8',
- 'É' : '\u00C9',
- 'Ê' : '\u00CA',
- 'Ë' : '\u00CB',
- 'Ì' : '\u00CC',
- 'Í' : '\u00CD',
- 'Î' : '\u00CE',
- 'Ï' : '\u00CF',
- 'Ð' : '\u00D0',
- 'Ñ' : '\u00D1',
- 'Ò' : '\u00D2',
- 'Ó' : '\u00D3',
- 'Ô' : '\u00D4',
- 'Õ' : '\u00D5',
- 'Ö' : '\u00D6',
- '×' : '\u00D7',
- 'Ø' : '\u00D8',
- 'Ù' : '\u00D9',
- 'Ú' : '\u00DA',
- 'Û' : '\u00DB',
- 'Ü' : '\u00DC',
- 'Ý' : '\u00DD',
- 'Þ' : '\u00DE',
- 'ß' : '\u00DF',
- 'à' : '\u00E0',
- 'á' : '\u00E1',
- 'â' : '\u00E2',
- 'ã' : '\u00E3',
- 'ä' : '\u00E4',
- 'å' : '\u00E5',
- 'æ' : '\u00E6',
- 'ç' : '\u00E7',
- 'è' : '\u00E8',
- 'é' : '\u00E9',
- 'ê' : '\u00EA',
- 'ë' : '\u00EB',
- 'ì' : '\u00EC',
- 'í' : '\u00ED',
- 'î' : '\u00EE',
- 'ï' : '\u00EF',
- 'ð' : '\u00F0',
- 'ñ' : '\u00F1',
- 'ò' : '\u00F2',
- 'ó' : '\u00F3',
- 'ô' : '\u00F4',
- 'õ' : '\u00F5',
- 'ö' : '\u00F6',
- '÷' : '\u00F7',
- 'ø' : '\u00F8',
- 'ù' : '\u00F9',
- 'ú' : '\u00FA',
- 'û' : '\u00FB',
- 'ü' : '\u00FC',
- 'ý' : '\u00FD',
- 'þ' : '\u00FE',
- 'ÿ' : '\u00FF',
- '"' : '\u0022',
- '&' : '\u0026',
- '<' : '\u003C',
- '>' : '\u003E',
- ''' : '\u0027',
- 'Œ' : '\u0152',
- 'œ' : '\u0153',
- 'Š' : '\u0160',
- 'š' : '\u0161',
- 'Ÿ' : '\u0178',
- 'ˆ' : '\u02C6',
- '˜' : '\u02DC',
- ' ' : '\u2002',
- ' ' : '\u2003',
- ' ' : '\u2009',
- '‌' : '\u200C',
- '‍' : '\u200D',
- '‎' : '\u200E',
- '‏' : '\u200F',
- '–' : '\u2013',
- '—' : '\u2014',
- '‘' : '\u2018',
- '’' : '\u2019',
- '‚' : '\u201A',
- '“' : '\u201C',
- '”' : '\u201D',
- '„' : '\u201E',
- '†' : '\u2020',
- '‡' : '\u2021',
- '‰' : '\u2030',
- '‹' : '\u2039',
- '›' : '\u203A',
- '€' : '\u20AC',
- 'ƒ' : '\u0192',
- 'Α' : '\u0391',
- 'Β' : '\u0392',
- 'Γ' : '\u0393',
- 'Δ' : '\u0394',
- 'Ε' : '\u0395',
- 'Ζ' : '\u0396',
- 'Η' : '\u0397',
- 'Θ' : '\u0398',
- 'Ι' : '\u0399',
- 'Κ' : '\u039A',
- 'Λ' : '\u039B',
- 'Μ' : '\u039C',
- 'Ν' : '\u039D',
- 'Ξ' : '\u039E',
- 'Ο' : '\u039F',
- 'Π' : '\u03A0',
- 'Ρ' : '\u03A1',
- 'Σ' : '\u03A3',
- 'Τ' : '\u03A4',
- 'Υ' : '\u03A5',
- 'Φ' : '\u03A6',
- 'Χ' : '\u03A7',
- 'Ψ' : '\u03A8',
- 'Ω' : '\u03A9',
- 'α' : '\u03B1',
- 'β' : '\u03B2',
- 'γ' : '\u03B3',
- 'δ' : '\u03B4',
- 'ε' : '\u03B5',
- 'ζ' : '\u03B6',
- 'η' : '\u03B7',
- 'θ' : '\u03B8',
- 'ι' : '\u03B9',
- 'κ' : '\u03BA',
- 'λ' : '\u03BB',
- 'μ' : '\u03BC',
- 'ν' : '\u03BD',
- 'ξ' : '\u03BE',
- 'ο' : '\u03BF',
- 'π' : '\u03C0',
- 'ρ' : '\u03C1',
- 'ς' : '\u03C2',
- 'σ' : '\u03C3',
- 'τ' : '\u03C4',
- 'υ' : '\u03C5',
- 'φ' : '\u03C6',
- 'χ' : '\u03C7',
- 'ψ' : '\u03C8',
- 'ω' : '\u03C9',
- 'ϑ' : '\u03D1',
- 'ϒ' : '\u03D2',
- 'ϖ' : '\u03D6',
- '•' : '\u2022',
- '…' : '\u2026',
- '′' : '\u2032',
- '″' : '\u2033',
- '‾' : '\u203E',
- '⁄' : '\u2044',
- '℘' : '\u2118',
- 'ℑ' : '\u2111',
- 'ℜ' : '\u211C',
- '™' : '\u2122',
- 'ℵ' : '\u2135',
- '←' : '\u2190',
- '↑' : '\u2191',
- '→' : '\u2192',
- '↓' : '\u2193',
- '↔' : '\u2194',
- '↵' : '\u21B5',
- '⇐' : '\u21D0',
- '⇑' : '\u21D1',
- '⇒' : '\u21D2',
- '⇓' : '\u21D3',
- '⇔' : '\u21D4',
- '∀' : '\u2200',
- '∂' : '\u2202',
- '∃' : '\u2203',
- '∅' : '\u2205',
- '∇' : '\u2207',
- '∈' : '\u2208',
- '∉' : '\u2209',
- '∋' : '\u220B',
- '∏' : '\u220F',
- '∑' : '\u2211',
- '−' : '\u2212',
- '∗' : '\u2217',
- '√' : '\u221A',
- '∝' : '\u221D',
- '∞' : '\u221E',
- '∠' : '\u2220',
- '∧' : '\u2227',
- '∨' : '\u2228',
- '∩' : '\u2229',
- '∪' : '\u222A',
- '∫' : '\u222B',
- '∴' : '\u2234',
- '∼' : '\u223C',
- '≅' : '\u2245',
- '≈' : '\u2248',
- '≠' : '\u2260',
- '≡' : '\u2261',
- '≤' : '\u2264',
- '≥' : '\u2265',
- '⊂' : '\u2282',
- '⊃' : '\u2283',
- '⊄' : '\u2284',
- '⊆' : '\u2286',
- '⊇' : '\u2287',
- '⊕' : '\u2295',
- '⊗' : '\u2297',
- '⊥' : '\u22A5',
- '⋅' : '\u22C5',
- '⌈' : '\u2308',
- '⌉' : '\u2309',
- '⌊' : '\u230A',
- '⌋' : '\u230B',
- '⟨' : '\u2329',
- '⟩' : '\u232A',
- '◊' : '\u25CA',
- '♠' : '\u2660',
- '♣' : '\u2663',
- '♥' : '\u2665',
- '♦' : '\u2666'
- };
- var decodeEntity = function (code) {
- // name type
- if (code.charAt(1) !== '#') {
- return HTML_ENTITIES[code] || code;
- }
- var n, c = code.charAt(2);
- // hex number
- if (c === 'x' || c === 'X') {
- c = code.substring(3, code.length - 1);
- n = parseInt(c, 16);
- } else {
- c = code.substring(2, code.length - 1);
- n = parseInt(c);
- }
- return isNaN(n) ? code : String.fromCharCode(n);
- };
- var htmlEncode = function (str) {
- return str.replace(/&/g, '&').replace(/"/g, '"').replace(/'/g, ''')
- .replace(/</g, '<').replace(/>/g, '>');
- };
- var htmlDecode = function (str) {
- return str.replace(/&#?\w+;/g, decodeEntity);
- };
- var exports = htmlEncode;
- htmlEncode.htmlEncode = htmlEncode;
- htmlEncode.htmlDecode = htmlDecode;
- if (COMMON_JS) {
- module.exports = exports;
- } else {
- root.htmlEncode = htmlEncode;
- root.htmlDecode = htmlDecode;
- if (AMD) {
- define(function() {
- return exports;
- });
- }
- }
- })();
|