Viewing File: /people/testlab/www/testlab.com.pl/spaw2/js/common/entities.js

// replaces special characters with HTML entities
SpawEditor.prototype.convertToEntities = function(src_string)
{
  var result = src_string;
  
  var entities = {
    // Latin-1
    "¡":"¡",
    "¢":"¢",
    "£":"£",
    "¤":"¤",
    "¥":"¥",
    "¦":"¦",
    "§":"§",
    "¨":"¨",
    "©":"©",
    "ª":"ª",
    "«":"«",
    "¬":"¬",
    "­":"­",
    "®":"®",
    "¯":"¯",
    "°":"°",
    "±":"±",
    "²":"²",
    "³":"³",
    "´":"´",
    "µ":"µ",
    "¶":"¶",
    "·":"·",
    "¸":"¸",
    "¹":"¹",
    "º":"º",
    "»":"»",
    "¼":"¼",
    "½":"½",
    "¾":"¾",
    "¿":"¿",
    "À":"À",
    "Á":"Á",
    "Â":"Â",
    "Ã":"Ã",
    "Ä":"Ä",
    "Å":"Å",
    "Æ":"Æ",
    "Ç":"Ç",
    "È":"È",
    "É":"É",
    "Ê":"Ê",
    "Ë":"Ë",
    "Ì":"Ì",
    "Í":"Í",
    "Î":"Î",
    "Ï":"Ï",
    "Ð":"Ð",
    "Ñ":"Ñ",
    "Ò":"Ò",
    "Ó":"Ó",
    "Ô":"Ô",
    "Õ":"Õ",
    "Ö":"Ö",
    "×":"×",
    "Ø":"Ø",
    "Ù":"Ù",
    "Ú":"Ú",
    "Û":"Û",
    "Ü":"Ü",
    "Ý":"Ý",
    "Þ":"Þ",
    "ß":"ß",
    "à":"à",
    "á":"á",
    "â":"â",
    "ã":"ã",
    "ä":"ä",
    "å":"å",
    "æ":"æ",
    "ç":"ç",
    "è":"è",
    "é":"é",
    "ê":"ê",
    "ë":"ë",
    "ì":"ì",
    "í":"í",
    "î":"î",
    "ï":"ï",
    "ð":"ð",
    "ñ":"ñ",
    "ò":"ò",
    "ó":"ó",
    "ô":"ô",
    "õ":"õ",
    "ö":"ö",
    "÷":"÷",
    "ø":"ø",
    "ù":"ù",
    "ú":"ú",
    "û":"û",
    "ü":"ü",
    "ý":"ý",
    "þ":"þ",
    "ÿ":"ÿ",
    // symbols and greek
    "ƒ":"ƒ",
    "Α":"Α",
    "Β":"Β",
    "γ":"Γ",
    "Δ":"Δ",
    "Ε":"Ε",
    "Ζ":"Ζ",
    "Η":"Η",
    "Θ":"Θ",
    "Ι":"Ι",
    "Κ":"Κ",
    "Λ":"Λ",
    "Μ":"Μ",
    "Ν":"Ν",
    "Ξ":"Ξ",
    "Ο":"Ο",
    "Π":"Π",
    "Ρ":"Ρ",
    "Σ":"Σ",
    "Τ":"Τ",
    "Υ":"Υ",
    "Φ":"Φ",
    "Χ":"Χ",
    "Ψ":"Ψ",
    "Ω":"Ω",
    "α":"α",
    "β":"β",
    "γ":"γ",
    "δ":"δ",
    "ε":"ε",
    "ζ":"ζ",
    "η":"η",
    "θ":"θ",
    "ι":"ι",
    "κ":"κ",
    "λ":"λ",
    "μ":"μ",
    "ν":"ν",
    "ξ":"ξ",
    "ο":"ο",
    "π":"π",
    "ρ":"ρ",
    "ς":"ς",
    "σ":"σ",
    "τ":"τ",
    "υ":"υ",
    "φ":"φ",
    "χ":"χ",
    "ψ":"ψ",
    "ω":"ω",
    "•":"•",
    "…":"…",
    "′":"′",
    "″":"″",
    "‾":"‾",
    "⁄":"⁄",
    "℘":"℘",
    "ℑ":"ℑ",
    "ℜ":"ℜ",
    "™":"™",
    "ℵ":"ℵ",
    "←":"←",
    "↑":"↑",
    "→":"→",
    "↓":"↓",
    "↔":"↔",
    "↵":"↵",
    "⇐":"⇐",
    "⇑":"⇑",
    "⇒":"⇒",
    "⇔":"⇔",
    "∀":"∀",
    "∂":"∂",
    "∃":"∃",
    "∅":"∅",
    "∇":"∇",
    "∈":"∈",
    "∉":"∉",
    "∋":"∋",
    "∏":"∏",
    "∑":"∑",
    "−":"−",
    "∗":"∗",
    "√":"√",
    "∝":"∝",
    "∞":"∞",
    "∧":"∧",
    "∨":"∨",
    "∩":"∩",
    "∪":"∪",
    "∫":"∫",
    "≅":"≅",
    "≈":"≈",
    "≠":"≠",
    "≡":"≡",
    "≤":"≤",
    "≥":"≥",
    "⊂":"⊂",
    "⊃":"⊃",
    "⊄":"⊄",
    "⊆":"⊆",
    "⊇":"⊇",
    "⊕":"⊕",
    "⊗":"⊗",
    "⊥":"⊥",
    "⋅":"⋅",
    "⌈":"⌈",
    "⌉":"⌉",
    "⌊":"⌊",
    "⌋":"⌋",
    "〈":"⟨",
    "〉":"⟩",
    "◊":"◊",
    "♠":"♠",
    "♣":"♣",
    "♥":"♥",
    "♦":"♦",
    // special chars
    "Œ":"Œ",
    "œ":"œ",
    "Š":"Š",
    "š":"š",
    "Ÿ":"Ÿ",
    "ˆ":"ˆ",
    "˜":"˜",
    " ":" ",
    " ":" ",
    " ":" ",
    "‌":"‌",
    "‍":"‍",
    "‎":"‎",
    "‏":"‏",
    "–":"–",
    "—":"—",
    "‘":"‘",
    "’":"’",
    "‚":"‚",
    "„":"„",
    "†":"†",
    "‡":"‡",
    "‰":"‰",
    "‹":"‹",
    "›":"›",
    "€":"€",
    "“":"“",
    "”":"”"
  }
  var entities_str = "¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿƒΑΒγΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρςστυφχψω•…′″‾⁄℘ℑℜ™ℵ←↑→↓↔↵⇐⇑⇒⇔∀∂∃∅∇∈∉∋∏∑−∗√∝∞∧∨∩∪∫≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅⌈⌉⌊⌋〈〉◊♠♣♥♦ŒœŠšŸˆ˜   ‌‍‎‏–—‘’‚“”„†‡‰‹›€";

  var rgx = new RegExp("[" + entities_str + "]", "gm");
  
  var matches = result.match(rgx);
  if (matches != null)
  {
    var processed = new Array();
    
    for (var i=0; i<matches.length; i++)
    {
      if (processed[matches[i]] == null && entities[matches[i]] != null && entities[matches[i]] != undefined)
      {
        // register that the symbol was processed
        processed[matches[i]] = entities[matches[i]];
        var replace_rgx = new RegExp(matches[i],"gm");
        result = result.replace(replace_rgx, entities[matches[i]]);
      }
    }    
  }
  
  return result;   
}
Back to Directory File Manager