home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / Servidores / xampp-win32-1.6.7-installer.exe / phpMyAdmin / libraries / tcpdf / html_entity_decode_php4.php < prev    next >
Encoding:
PHP Script  |  2008-06-23  |  12.3 KB  |  310 lines

  1. <?php
  2. //============================================================+
  3. // File name   : html_entity_decode_php4.php
  4. // Begin       : 2006-06-22
  5. // Last Update : 2006-06-22
  6. // Author      : Nicola Asuni
  7. // Version     : 1.0.000
  8. // License     : GNU LGPL (http://www.gnu.org/copyleft/lesser.html)
  9. //
  10. // Description : This is a PHP4 function that redefine the 
  11. //               standard html_entity_decode function to support
  12. //               UTF-8 encoding.
  13. //
  14. //============================================================+
  15.  
  16. /**
  17.  * TCPDF Class.
  18.  * @package com.tecnick.tcpdf
  19.  */
  20.  
  21.  
  22. /**
  23.  * Returns the UTF-8 string corresponding to unicode value.
  24.  * @param $num unicode value to convert.
  25.  * @return string converted
  26.  */
  27. function code_to_utf8($num) {
  28.     if ($num <= 0x7F) {
  29.         return chr($num);
  30.     } elseif ($num <= 0x7FF) {
  31.         return chr(($num >> 0x06) + 0xC0).chr(($num & 0x3F) + 128);
  32.     } elseif ($num <= 0xFFFF) {
  33.         return chr(($num >> 0x0C) + 0xE0).chr((($num >> 0x06) & 0x3F) + 0x80).chr(($num & 0x3F) + 0x80);
  34.     } elseif ($num <= 0x1FFFFF) {
  35.         return chr(($num >> 0x12) + 0xF0).chr((($num >> 0x0C) & 0x3F) + 0x80).chr((($num >> 0x06) & 0x3F) + 0x80).chr(($num & 0x3F) + 0x80);
  36.     }
  37.     return ' '; // default value
  38. }
  39.  
  40. /**
  41.  * Reverse function for htmlentities.
  42.  * Convert entities in UTF-8.
  43.  * @param $text_to_convert Text to convert.
  44.  * @return string converted
  45.  */
  46. function html_entity_decode_php4($text_to_convert) {
  47.     $htmlentities_table = array (
  48.         "Á" => "".chr(195).chr(129)."",
  49.         "á" => "".chr(195).chr(161)."",
  50.         "Â" => "".chr(195).chr(130)."",
  51.         "â" => "".chr(195).chr(162)."",
  52.         "´" => "".chr(194).chr(180)."",
  53.         "Æ" => "".chr(195).chr(134)."",
  54.         "æ" => "".chr(195).chr(166)."",
  55.         "À" => "".chr(195).chr(128)."",
  56.         "à" => "".chr(195).chr(160)."",
  57.         "ℵ" => "".chr(226).chr(132).chr(181)."",
  58.         "Α" => "".chr(206).chr(145)."",
  59.         "α" => "".chr(206).chr(177)."",
  60.         "&" => "".chr(38)."",
  61.         "∧" => "".chr(226).chr(136).chr(167)."",
  62.         "∠" => "".chr(226).chr(136).chr(160)."",
  63.         "Å" => "".chr(195).chr(133)."",
  64.         "å" => "".chr(195).chr(165)."",
  65.         "≈" => "".chr(226).chr(137).chr(136)."",
  66.         "Ã" => "".chr(195).chr(131)."",
  67.         "ã" => "".chr(195).chr(163)."",
  68.         "Ä" => "".chr(195).chr(132)."",
  69.         "ä" => "".chr(195).chr(164)."",
  70.         "„" => "".chr(226).chr(128).chr(158)."",
  71.         "Β" => "".chr(206).chr(146)."",
  72.         "β" => "".chr(206).chr(178)."",
  73.         "¦" => "".chr(194).chr(166)."",
  74.         "•" => "".chr(226).chr(128).chr(162)."",
  75.         "∩" => "".chr(226).chr(136).chr(169)."",
  76.         "Ç" => "".chr(195).chr(135)."",
  77.         "ç" => "".chr(195).chr(167)."",
  78.         "¸" => "".chr(194).chr(184)."",
  79.         "¢" => "".chr(194).chr(162)."",
  80.         "Χ" => "".chr(206).chr(167)."",
  81.         "χ" => "".chr(207).chr(135)."",
  82.         "ˆ" => "".chr(203).chr(134)."",
  83.         "♣" => "".chr(226).chr(153).chr(163)."",
  84.         "≅" => "".chr(226).chr(137).chr(133)."",
  85.         "©" => "".chr(194).chr(169)."",
  86.         "↵" => "".chr(226).chr(134).chr(181)."",
  87.         "∪" => "".chr(226).chr(136).chr(170)."",
  88.         "¤" => "".chr(194).chr(164)."",
  89.         "†" => "".chr(226).chr(128).chr(160)."",
  90.         "‡" => "".chr(226).chr(128).chr(161)."",
  91.         "↓" => "".chr(226).chr(134).chr(147)."",
  92.         "⇓" => "".chr(226).chr(135).chr(147)."",
  93.         "°" => "".chr(194).chr(176)."",
  94.         "Δ" => "".chr(206).chr(148)."",
  95.         "δ" => "".chr(206).chr(180)."",
  96.         "♦" => "".chr(226).chr(153).chr(166)."",
  97.         "÷" => "".chr(195).chr(183)."",
  98.         "É" => "".chr(195).chr(137)."",
  99.         "é" => "".chr(195).chr(169)."",
  100.         "Ê" => "".chr(195).chr(138)."",
  101.         "ê" => "".chr(195).chr(170)."",
  102.         "È" => "".chr(195).chr(136)."",
  103.         "è" => "".chr(195).chr(168)."",
  104.         "∅" => "".chr(226).chr(136).chr(133)."",
  105.         " " => "".chr(226).chr(128).chr(131)."",
  106.         " " => "".chr(226).chr(128).chr(130)."",
  107.         "Ε" => "".chr(206).chr(149)."",
  108.         "ε" => "".chr(206).chr(181)."",
  109.         "≡" => "".chr(226).chr(137).chr(161)."",
  110.         "Η" => "".chr(206).chr(151)."",
  111.         "η" => "".chr(206).chr(183)."",
  112.         "Ð" => "".chr(195).chr(144)."",
  113.         "ð" => "".chr(195).chr(176)."",
  114.         "Ë" => "".chr(195).chr(139)."",
  115.         "ë" => "".chr(195).chr(171)."",
  116.         "€" => "".chr(226).chr(130).chr(172)."",
  117.         "∃" => "".chr(226).chr(136).chr(131)."",
  118.         "ƒ" => "".chr(198).chr(146)."",
  119.         "∀" => "".chr(226).chr(136).chr(128)."",
  120.         "½" => "".chr(194).chr(189)."",
  121.         "¼" => "".chr(194).chr(188)."",
  122.         "¾" => "".chr(194).chr(190)."",
  123.         "⁄" => "".chr(226).chr(129).chr(132)."",
  124.         "Γ" => "".chr(206).chr(147)."",
  125.         "γ" => "".chr(206).chr(179)."",
  126.         "≥" => "".chr(226).chr(137).chr(165)."",
  127.         "↔" => "".chr(226).chr(134).chr(148)."",
  128.         "⇔" => "".chr(226).chr(135).chr(148)."",
  129.         "♥" => "".chr(226).chr(153).chr(165)."",
  130.         "…" => "".chr(226).chr(128).chr(166)."",
  131.         "Í" => "".chr(195).chr(141)."",
  132.         "í" => "".chr(195).chr(173)."",
  133.         "Î" => "".chr(195).chr(142)."",
  134.         "î" => "".chr(195).chr(174)."",
  135.         "¡" => "".chr(194).chr(161)."",
  136.         "Ì" => "".chr(195).chr(140)."",
  137.         "ì" => "".chr(195).chr(172)."",
  138.         "ℑ" => "".chr(226).chr(132).chr(145)."",
  139.         "∞" => "".chr(226).chr(136).chr(158)."",
  140.         "∫" => "".chr(226).chr(136).chr(171)."",
  141.         "Ι" => "".chr(206).chr(153)."",
  142.         "ι" => "".chr(206).chr(185)."",
  143.         "¿" => "".chr(194).chr(191)."",
  144.         "∈" => "".chr(226).chr(136).chr(136)."",
  145.         "Ï" => "".chr(195).chr(143)."",
  146.         "ï" => "".chr(195).chr(175)."",
  147.         "Κ" => "".chr(206).chr(154)."",
  148.         "κ" => "".chr(206).chr(186)."",
  149.         "Λ" => "".chr(206).chr(155)."",
  150.         "λ" => "".chr(206).chr(187)."",
  151.         "⟨" => "".chr(226).chr(140).chr(169)."",
  152.         "«" => "".chr(194).chr(171)."",
  153.         "←" => "".chr(226).chr(134).chr(144)."",
  154.         "⇐" => "".chr(226).chr(135).chr(144)."",
  155.         "⌈" => "".chr(226).chr(140).chr(136)."",
  156.         "“" => "".chr(226).chr(128).chr(156)."",
  157.         "≤" => "".chr(226).chr(137).chr(164)."",
  158.         "⌊" => "".chr(226).chr(140).chr(138)."",
  159.         "∗" => "".chr(226).chr(136).chr(151)."",
  160.         "◊" => "".chr(226).chr(151).chr(138)."",
  161.         "‎" => "".chr(226).chr(128).chr(142)."",
  162.         "‹" => "".chr(226).chr(128).chr(185)."",
  163.         "‘" => "".chr(226).chr(128).chr(152)."",
  164.         "¯" => "".chr(194).chr(175)."",
  165.         "—" => "".chr(226).chr(128).chr(148)."",
  166.         "µ" => "".chr(194).chr(181)."",
  167.         "·" => "".chr(194).chr(183)."",
  168.         "−" => "".chr(226).chr(136).chr(146)."",
  169.         "Μ" => "".chr(206).chr(156)."",
  170.         "μ" => "".chr(206).chr(188)."",
  171.         "∇" => "".chr(226).chr(136).chr(135)."",
  172.         " " => "".chr(194).chr(160)."",
  173.         "–" => "".chr(226).chr(128).chr(147)."",
  174.         "≠" => "".chr(226).chr(137).chr(160)."",
  175.         "∋" => "".chr(226).chr(136).chr(139)."",
  176.         "¬" => "".chr(194).chr(172)."",
  177.         "∉" => "".chr(226).chr(136).chr(137)."",
  178.         "⊄" => "".chr(226).chr(138).chr(132)."",
  179.         "Ñ" => "".chr(195).chr(145)."",
  180.         "ñ" => "".chr(195).chr(177)."",
  181.         "Ν" => "".chr(206).chr(157)."",
  182.         "ν" => "".chr(206).chr(189)."",
  183.         "Ó" => "".chr(195).chr(147)."",
  184.         "ó" => "".chr(195).chr(179)."",
  185.         "Ô" => "".chr(195).chr(148)."",
  186.         "ô" => "".chr(195).chr(180)."",
  187.         "Œ" => "".chr(197).chr(146)."",
  188.         "œ" => "".chr(197).chr(147)."",
  189.         "Ò" => "".chr(195).chr(146)."",
  190.         "ò" => "".chr(195).chr(178)."",
  191.         "‾" => "".chr(226).chr(128).chr(190)."",
  192.         "Ω" => "".chr(206).chr(169)."",
  193.         "ω" => "".chr(207).chr(137)."",
  194.         "Ο" => "".chr(206).chr(159)."",
  195.         "ο" => "".chr(206).chr(191)."",
  196.         "⊕" => "".chr(226).chr(138).chr(149)."",
  197.         "∨" => "".chr(226).chr(136).chr(168)."",
  198.         "ª" => "".chr(194).chr(170)."",
  199.         "º" => "".chr(194).chr(186)."",
  200.         "Ø" => "".chr(195).chr(152)."",
  201.         "ø" => "".chr(195).chr(184)."",
  202.         "Õ" => "".chr(195).chr(149)."",
  203.         "õ" => "".chr(195).chr(181)."",
  204.         "⊗" => "".chr(226).chr(138).chr(151)."",
  205.         "Ö" => "".chr(195).chr(150)."",
  206.         "ö" => "".chr(195).chr(182)."",
  207.         "¶" => "".chr(194).chr(182)."",
  208.         "∂" => "".chr(226).chr(136).chr(130)."",
  209.         "‰" => "".chr(226).chr(128).chr(176)."",
  210.         "⊥" => "".chr(226).chr(138).chr(165)."",
  211.         "Φ" => "".chr(206).chr(166)."",
  212.         "φ" => "".chr(207).chr(134)."",
  213.         "Π" => "".chr(206).chr(160)."",
  214.         "π" => "".chr(207).chr(128)."",
  215.         "ϖ" => "".chr(207).chr(150)."",
  216.         "±" => "".chr(194).chr(177)."",
  217.         "£" => "".chr(194).chr(163)."",
  218.         "′" => "".chr(226).chr(128).chr(178)."",
  219.         "″" => "".chr(226).chr(128).chr(179)."",
  220.         "∏" => "".chr(226).chr(136).chr(143)."",
  221.         "∝" => "".chr(226).chr(136).chr(157)."",
  222.         "Ψ" => "".chr(206).chr(168)."",
  223.         "ψ" => "".chr(207).chr(136)."",
  224.         "√" => "".chr(226).chr(136).chr(154)."",
  225.         "⟩" => "".chr(226).chr(140).chr(170)."",
  226.         "»" => "".chr(194).chr(187)."",
  227.         "→" => "".chr(226).chr(134).chr(146)."",
  228.         "⇒" => "".chr(226).chr(135).chr(146)."",
  229.         "⌉" => "".chr(226).chr(140).chr(137)."",
  230.         "”" => "".chr(226).chr(128).chr(157)."",
  231.         "ℜ" => "".chr(226).chr(132).chr(156)."",
  232.         "®" => "".chr(194).chr(174)."",
  233.         "⌋" => "".chr(226).chr(140).chr(139)."",
  234.         "Ρ" => "".chr(206).chr(161)."",
  235.         "ρ" => "".chr(207).chr(129)."",
  236.         "‏" => "".chr(226).chr(128).chr(143)."",
  237.         "›" => "".chr(226).chr(128).chr(186)."",
  238.         "’" => "".chr(226).chr(128).chr(153)."",
  239.         "‚" => "".chr(226).chr(128).chr(154)."",
  240.         "Š" => "".chr(197).chr(160)."",
  241.         "š" => "".chr(197).chr(161)."",
  242.         "⋅" => "".chr(226).chr(139).chr(133)."",
  243.         "§" => "".chr(194).chr(167)."",
  244.         "­" => "".chr(194).chr(173)."",
  245.         "Σ" => "".chr(206).chr(163)."",
  246.         "σ" => "".chr(207).chr(131)."",
  247.         "ς" => "".chr(207).chr(130)."",
  248.         "∼" => "".chr(226).chr(136).chr(188)."",
  249.         "♠" => "".chr(226).chr(153).chr(160)."",
  250.         "⊂" => "".chr(226).chr(138).chr(130)."",
  251.         "⊆" => "".chr(226).chr(138).chr(134)."",
  252.         "∑" => "".chr(226).chr(136).chr(145)."",
  253.         "¹" => "".chr(194).chr(185)."",
  254.         "²" => "".chr(194).chr(178)."",
  255.         "³" => "".chr(194).chr(179)."",
  256.         "⊃" => "".chr(226).chr(138).chr(131)."",
  257.         "⊇" => "".chr(226).chr(138).chr(135)."",
  258.         "ß" => "".chr(195).chr(159)."",
  259.         "Τ" => "".chr(206).chr(164)."",
  260.         "τ" => "".chr(207).chr(132)."",
  261.         "∴" => "".chr(226).chr(136).chr(180)."",
  262.         "Θ" => "".chr(206).chr(152)."",
  263.         "θ" => "".chr(206).chr(184)."",
  264.         "ϑ" => "".chr(207).chr(145)."",
  265.         " " => "".chr(226).chr(128).chr(137)."",
  266.         "Þ" => "".chr(195).chr(158)."",
  267.         "þ" => "".chr(195).chr(190)."",
  268.         "˜" => "".chr(203).chr(156)."",
  269.         "×" => "".chr(195).chr(151)."",
  270.         "™" => "".chr(226).chr(132).chr(162)."",
  271.         "Ú" => "".chr(195).chr(154)."",
  272.         "ú" => "".chr(195).chr(186)."",
  273.         "↑" => "".chr(226).chr(134).chr(145)."",
  274.         "⇑" => "".chr(226).chr(135).chr(145)."",
  275.         "Û" => "".chr(195).chr(155)."",
  276.         "û" => "".chr(195).chr(187)."",
  277.         "Ù" => "".chr(195).chr(153)."",
  278.         "ù" => "".chr(195).chr(185)."",
  279.         "¨" => "".chr(194).chr(168)."",
  280.         "ϒ" => "".chr(207).chr(146)."",
  281.         "Υ" => "".chr(206).chr(165)."",
  282.         "υ" => "".chr(207).chr(133)."",
  283.         "Ü" => "".chr(195).chr(156)."",
  284.         "ü" => "".chr(195).chr(188)."",
  285.         "℘" => "".chr(226).chr(132).chr(152)."",
  286.         "Ξ" => "".chr(206).chr(158)."",
  287.         "ξ" => "".chr(206).chr(190)."",
  288.         "Ý" => "".chr(195).chr(157)."",
  289.         "ý" => "".chr(195).chr(189)."",
  290.         "¥" => "".chr(194).chr(165)."",
  291.         "ÿ" => "".chr(195).chr(191)."",
  292.         "Ÿ" => "".chr(197).chr(184)."",
  293.         "Ζ" => "".chr(206).chr(150)."",
  294.         "ζ" => "".chr(206).chr(182)."",
  295.         "‍" => "".chr(226).chr(128).chr(141)."",
  296.         "‌" => "".chr(226).chr(128).chr(140)."",
  297.         ">" => ">",
  298.         "<" => "<"
  299.     );
  300.     $return_text = strtr($text_to_convert, $htmlentities_table);
  301.     $return_text = preg_replace('~&#x([0-9a-f]+);~ei', 'code_to_utf8(hexdec("\\1"))', $return_text);
  302.     $return_text = preg_replace('~&#([0-9]+);~e', 'code_to_utf8(\\1)', $return_text);
  303.     return $return_text;
  304. }
  305.  
  306. //============================================================+
  307. // END OF FILE
  308. //============================================================+
  309. ?>
  310.