mirror of
https://github.com/moodle/moodle.git
synced 2025-01-19 14:27:22 +01:00
309 lines
14 KiB
PHP
Executable File
309 lines
14 KiB
PHP
Executable File
<?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
|
|
//============================================================+
|
|
?>
|