/mod/certificate/tcpdf/html_entity_decode_php4.php
PHP | 309 lines | 273 code | 5 blank | 31 comment | 1 complexity | b5310a437a9dc307daaf8251dd2c2767 MD5 | raw file
Possible License(s): Apache-2.0, GPL-3.0
- <?php
- //============================================================+
- // File name : html_entity_decode_php4.php
- // Begin : 2006-06-22
- // Last Update : 2006-06-22
- // Author : Nicola Asuni
- // Version : 1.0.000
- // License : GNU LGPL (http://www.gnu.org/copyleft/lesser.html)
- //
- // Description : This is a PHP4 function that redefine the
- // standard html_entity_decode function to support
- // UTF-8 encoding.
- //
- //============================================================+
-
- /**
- * TCPDF Class.
- * @package com.tecnick.tcpdf
- */
-
-
- /**
- * Returns the UTF-8 string corresponding to unicode value.
- * @param $num unicode value to convert.
- * @return string converted
- */
- function code_to_utf8($num) {
- if ($num <= 0x7F) {
- return chr($num);
- } elseif ($num <= 0x7FF) {
- return chr(($num >> 0x06) + 0xC0).chr(($num & 0x3F) + 128);
- } elseif ($num <= 0xFFFF) {
- return chr(($num >> 0x0C) + 0xE0).chr((($num >> 0x06) & 0x3F) + 0x80).chr(($num & 0x3F) + 0x80);
- } elseif ($num <= 0x1FFFFF) {
- return chr(($num >> 0x12) + 0xF0).chr((($num >> 0x0C) & 0x3F) + 0x80).chr((($num >> 0x06) & 0x3F) + 0x80).chr(($num & 0x3F) + 0x80);
- }
- return ' '; // default value
- }
-
- /**
- * Reverse function for htmlentities.
- * Convert entities in UTF-8.
- * @param $text_to_convert Text to convert.
- * @return string converted
- */
- function html_entity_decode_php4($text_to_convert) {
- $htmlentities_table = array (
- "Á" => "".chr(195).chr(129)."",
- "á" => "".chr(195).chr(161)."",
- "Â" => "".chr(195).chr(130)."",
- "â" => "".chr(195).chr(162)."",
- "´" => "".chr(194).chr(180)."",
- "Æ" => "".chr(195).chr(134)."",
- "æ" => "".chr(195).chr(166)."",
- "À" => "".chr(195).chr(128)."",
- "à" => "".chr(195).chr(160)."",
- "ℵ" => "".chr(226).chr(132).chr(181)."",
- "Α" => "".chr(206).chr(145)."",
- "α" => "".chr(206).chr(177)."",
- "&" => "".chr(38)."",
- "∧" => "".chr(226).chr(136).chr(167)."",
- "∠" => "".chr(226).chr(136).chr(160)."",
- "Å" => "".chr(195).chr(133)."",
- "å" => "".chr(195).chr(165)."",
- "≈" => "".chr(226).chr(137).chr(136)."",
- "Ã" => "".chr(195).chr(131)."",
- "ã" => "".chr(195).chr(163)."",
- "Ä" => "".chr(195).chr(132)."",
- "ä" => "".chr(195).chr(164)."",
- "„" => "".chr(226).chr(128).chr(158)."",
- "Β" => "".chr(206).chr(146)."",
- "β" => "".chr(206).chr(178)."",
- "¦" => "".chr(194).chr(166)."",
- "•" => "".chr(226).chr(128).chr(162)."",
- "∩" => "".chr(226).chr(136).chr(169)."",
- "Ç" => "".chr(195).chr(135)."",
- "ç" => "".chr(195).chr(167)."",
- "¸" => "".chr(194).chr(184)."",
- "¢" => "".chr(194).chr(162)."",
- "Χ" => "".chr(206).chr(167)."",
- "χ" => "".chr(207).chr(135)."",
- "ˆ" => "".chr(203).chr(134)."",
- "♣" => "".chr(226).chr(153).chr(163)."",
- "≅" => "".chr(226).chr(137).chr(133)."",
- "©" => "".chr(194).chr(169)."",
- "↵" => "".chr(226).chr(134).chr(181)."",
- "∪" => "".chr(226).chr(136).chr(170)."",
- "¤" => "".chr(194).chr(164)."",
- "†" => "".chr(226).chr(128).chr(160)."",
- "‡" => "".chr(226).chr(128).chr(161)."",
- "↓" => "".chr(226).chr(134).chr(147)."",
- "⇓" => "".chr(226).chr(135).chr(147)."",
- "°" => "".chr(194).chr(176)."",
- "Δ" => "".chr(206).chr(148)."",
- "δ" => "".chr(206).chr(180)."",
- "♦" => "".chr(226).chr(153).chr(166)."",
- "÷" => "".chr(195).chr(183)."",
- "É" => "".chr(195).chr(137)."",
- "é" => "".chr(195).chr(169)."",
- "Ê" => "".chr(195).chr(138)."",
- "ê" => "".chr(195).chr(170)."",
- "È" => "".chr(195).chr(136)."",
- "è" => "".chr(195).chr(168)."",
- "∅" => "".chr(226).chr(136).chr(133)."",
- " " => "".chr(226).chr(128).chr(131)."",
- " " => "".chr(226).chr(128).chr(130)."",
- "Ε" => "".chr(206).chr(149)."",
- "ε" => "".chr(206).chr(181)."",
- "≡" => "".chr(226).chr(137).chr(161)."",
- "Η" => "".chr(206).chr(151)."",
- "η" => "".chr(206).chr(183)."",
- "Ð" => "".chr(195).chr(144)."",
- "ð" => "".chr(195).chr(176)."",
- "Ë" => "".chr(195).chr(139)."",
- "ë" => "".chr(195).chr(171)."",
- "€" => "".chr(226).chr(130).chr(172)."",
- "∃" => "".chr(226).chr(136).chr(131)."",
- "ƒ" => "".chr(198).chr(146)."",
- "∀" => "".chr(226).chr(136).chr(128)."",
- "½" => "".chr(194).chr(189)."",
- "¼" => "".chr(194).chr(188)."",
- "¾" => "".chr(194).chr(190)."",
- "⁄" => "".chr(226).chr(129).chr(132)."",
- "Γ" => "".chr(206).chr(147)."",
- "γ" => "".chr(206).chr(179)."",
- "≥" => "".chr(226).chr(137).chr(165)."",
- "↔" => "".chr(226).chr(134).chr(148)."",
- "⇔" => "".chr(226).chr(135).chr(148)."",
- "♥" => "".chr(226).chr(153).chr(165)."",
- "…" => "".chr(226).chr(128).chr(166)."",
- "Í" => "".chr(195).chr(141)."",
- "í" => "".chr(195).chr(173)."",
- "Î" => "".chr(195).chr(142)."",
- "î" => "".chr(195).chr(174)."",
- "¡" => "".chr(194).chr(161)."",
- "Ì" => "".chr(195).chr(140)."",
- "ì" => "".chr(195).chr(172)."",
- "ℑ" => "".chr(226).chr(132).chr(145)."",
- "∞" => "".chr(226).chr(136).chr(158)."",
- "∫" => "".chr(226).chr(136).chr(171)."",
- "Ι" => "".chr(206).chr(153)."",
- "ι" => "".chr(206).chr(185)."",
- "¿" => "".chr(194).chr(191)."",
- "∈" => "".chr(226).chr(136).chr(136)."",
- "Ï" => "".chr(195).chr(143)."",
- "ï" => "".chr(195).chr(175)."",
- "Κ" => "".chr(206).chr(154)."",
- "κ" => "".chr(206).chr(186)."",
- "Λ" => "".chr(206).chr(155)."",
- "λ" => "".chr(206).chr(187)."",
- "⟨" => "".chr(226).chr(140).chr(169)."",
- "«" => "".chr(194).chr(171)."",
- "←" => "".chr(226).chr(134).chr(144)."",
- "⇐" => "".chr(226).chr(135).chr(144)."",
- "⌈" => "".chr(226).chr(140).chr(136)."",
- "“" => "".chr(226).chr(128).chr(156)."",
- "≤" => "".chr(226).chr(137).chr(164)."",
- "⌊" => "".chr(226).chr(140).chr(138)."",
- "∗" => "".chr(226).chr(136).chr(151)."",
- "◊" => "".chr(226).chr(151).chr(138)."",
- "‎" => "".chr(226).chr(128).chr(142)."",
- "‹" => "".chr(226).chr(128).chr(185)."",
- "‘" => "".chr(226).chr(128).chr(152)."",
- "¯" => "".chr(194).chr(175)."",
- "—" => "".chr(226).chr(128).chr(148)."",
- "µ" => "".chr(194).chr(181)."",
- "·" => "".chr(194).chr(183)."",
- "−" => "".chr(226).chr(136).chr(146)."",
- "Μ" => "".chr(206).chr(156)."",
- "μ" => "".chr(206).chr(188)."",
- "∇" => "".chr(226).chr(136).chr(135)."",
- " " => "".chr(194).chr(160)."",
- "–" => "".chr(226).chr(128).chr(147)."",
- "≠" => "".chr(226).chr(137).chr(160)."",
- "∋" => "".chr(226).chr(136).chr(139)."",
- "¬" => "".chr(194).chr(172)."",
- "∉" => "".chr(226).chr(136).chr(137)."",
- "⊄" => "".chr(226).chr(138).chr(132)."",
- "Ñ" => "".chr(195).chr(145)."",
- "ñ" => "".chr(195).chr(177)."",
- "Ν" => "".chr(206).chr(157)."",
- "ν" => "".chr(206).chr(189)."",
- "Ó" => "".chr(195).chr(147)."",
- "ó" => "".chr(195).chr(179)."",
- "Ô" => "".chr(195).chr(148)."",
- "ô" => "".chr(195).chr(180)."",
- "Œ" => "".chr(197).chr(146)."",
- "œ" => "".chr(197).chr(147)."",
- "Ò" => "".chr(195).chr(146)."",
- "ò" => "".chr(195).chr(178)."",
- "‾" => "".chr(226).chr(128).chr(190)."",
- "Ω" => "".chr(206).chr(169)."",
- "ω" => "".chr(207).chr(137)."",
- "Ο" => "".chr(206).chr(159)."",
- "ο" => "".chr(206).chr(191)."",
- "⊕" => "".chr(226).chr(138).chr(149)."",
- "∨" => "".chr(226).chr(136).chr(168)."",
- "ª" => "".chr(194).chr(170)."",
- "º" => "".chr(194).chr(186)."",
- "Ø" => "".chr(195).chr(152)."",
- "ø" => "".chr(195).chr(184)."",
- "Õ" => "".chr(195).chr(149)."",
- "õ" => "".chr(195).chr(181)."",
- "⊗" => "".chr(226).chr(138).chr(151)."",
- "Ö" => "".chr(195).chr(150)."",
- "ö" => "".chr(195).chr(182)."",
- "¶" => "".chr(194).chr(182)."",
- "∂" => "".chr(226).chr(136).chr(130)."",
- "‰" => "".chr(226).chr(128).chr(176)."",
- "⊥" => "".chr(226).chr(138).chr(165)."",
- "Φ" => "".chr(206).chr(166)."",
- "φ" => "".chr(207).chr(134)."",
- "Π" => "".chr(206).chr(160)."",
- "π" => "".chr(207).chr(128)."",
- "ϖ" => "".chr(207).chr(150)."",
- "±" => "".chr(194).chr(177)."",
- "£" => "".chr(194).chr(163)."",
- "′" => "".chr(226).chr(128).chr(178)."",
- "″" => "".chr(226).chr(128).chr(179)."",
- "∏" => "".chr(226).chr(136).chr(143)."",
- "∝" => "".chr(226).chr(136).chr(157)."",
- "Ψ" => "".chr(206).chr(168)."",
- "ψ" => "".chr(207).chr(136)."",
- "√" => "".chr(226).chr(136).chr(154)."",
- "⟩" => "".chr(226).chr(140).chr(170)."",
- "»" => "".chr(194).chr(187)."",
- "→" => "".chr(226).chr(134).chr(146)."",
- "⇒" => "".chr(226).chr(135).chr(146)."",
- "⌉" => "".chr(226).chr(140).chr(137)."",
- "”" => "".chr(226).chr(128).chr(157)."",
- "ℜ" => "".chr(226).chr(132).chr(156)."",
- "®" => "".chr(194).chr(174)."",
- "⌋" => "".chr(226).chr(140).chr(139)."",
- "Ρ" => "".chr(206).chr(161)."",
- "ρ" => "".chr(207).chr(129)."",
- "‏" => "".chr(226).chr(128).chr(143)."",
- "›" => "".chr(226).chr(128).chr(186)."",
- "’" => "".chr(226).chr(128).chr(153)."",
- "‚" => "".chr(226).chr(128).chr(154)."",
- "Š" => "".chr(197).chr(160)."",
- "š" => "".chr(197).chr(161)."",
- "⋅" => "".chr(226).chr(139).chr(133)."",
- "§" => "".chr(194).chr(167)."",
- "­" => "".chr(194).chr(173)."",
- "Σ" => "".chr(206).chr(163)."",
- "σ" => "".chr(207).chr(131)."",
- "ς" => "".chr(207).chr(130)."",
- "∼" => "".chr(226).chr(136).chr(188)."",
- "♠" => "".chr(226).chr(153).chr(160)."",
- "⊂" => "".chr(226).chr(138).chr(130)."",
- "⊆" => "".chr(226).chr(138).chr(134)."",
- "∑" => "".chr(226).chr(136).chr(145)."",
- "¹" => "".chr(194).chr(185)."",
- "²" => "".chr(194).chr(178)."",
- "³" => "".chr(194).chr(179)."",
- "⊃" => "".chr(226).chr(138).chr(131)."",
- "⊇" => "".chr(226).chr(138).chr(135)."",
- "ß" => "".chr(195).chr(159)."",
- "Τ" => "".chr(206).chr(164)."",
- "τ" => "".chr(207).chr(132)."",
- "∴" => "".chr(226).chr(136).chr(180)."",
- "Θ" => "".chr(206).chr(152)."",
- "θ" => "".chr(206).chr(184)."",
- "ϑ" => "".chr(207).chr(145)."",
- " " => "".chr(226).chr(128).chr(137)."",
- "Þ" => "".chr(195).chr(158)."",
- "þ" => "".chr(195).chr(190)."",
- "˜" => "".chr(203).chr(156)."",
- "×" => "".chr(195).chr(151)."",
- "™" => "".chr(226).chr(132).chr(162)."",
- "Ú" => "".chr(195).chr(154)."",
- "ú" => "".chr(195).chr(186)."",
- "↑" => "".chr(226).chr(134).chr(145)."",
- "⇑" => "".chr(226).chr(135).chr(145)."",
- "Û" => "".chr(195).chr(155)."",
- "û" => "".chr(195).chr(187)."",
- "Ù" => "".chr(195).chr(153)."",
- "ù" => "".chr(195).chr(185)."",
- "¨" => "".chr(194).chr(168)."",
- "ϒ" => "".chr(207).chr(146)."",
- "Υ" => "".chr(206).chr(165)."",
- "υ" => "".chr(207).chr(133)."",
- "Ü" => "".chr(195).chr(156)."",
- "ü" => "".chr(195).chr(188)."",
- "℘" => "".chr(226).chr(132).chr(152)."",
- "Ξ" => "".chr(206).chr(158)."",
- "ξ" => "".chr(206).chr(190)."",
- "Ý" => "".chr(195).chr(157)."",
- "ý" => "".chr(195).chr(189)."",
- "¥" => "".chr(194).chr(165)."",
- "ÿ" => "".chr(195).chr(191)."",
- "Ÿ" => "".chr(197).chr(184)."",
- "Ζ" => "".chr(206).chr(150)."",
- "ζ" => "".chr(206).chr(182)."",
- "‍" => "".chr(226).chr(128).chr(141)."",
- "‌" => "".chr(226).chr(128).chr(140)."",
- ">" => ">",
- "<" => "<"
- );
- $return_text = strtr($text_to_convert, $htmlentities_table);
- $return_text = preg_replace('~&#x([0-9a-f]+);~ei', 'code_to_utf8(hexdec("\\1"))', $return_text);
- $return_text = preg_replace('~&#([0-9]+);~e', 'code_to_utf8(\\1)', $return_text);
- return $return_text;
- }
-
- //============================================================+
- // END OF FILE
- //============================================================+
- ?>