/** * [js-htmlencode]{@link https://github.com/emn178/js-htmlencode} * * @version 0.3.01b * @author Chen, Yi-Cyuan [emn178@gmail.com] * @author 0.3.01b 5 Mode [my25mb@aol.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(/\|\|\|999/g, '\n'); }; 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; }); } } })();