PageRenderTime 40ms CodeModel.GetById 12ms RepoModel.GetById 1ms app.codeStats 0ms

/html/cp/db/libraries/tcpdf/html_entity_decode_php4.php

https://github.com/jmathai/photos
PHP | 309 lines | 273 code | 5 blank | 31 comment | 1 complexity | c1cf335074feb6a4b7a59b10a466bce5 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.1
  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. * TCPDF Class.
  17. * @package com.tecnick.tcpdf
  18. */
  19. /**
  20. * Returns the UTF-8 string corresponding to unicode value.
  21. * @param $num unicode value to convert.
  22. * @return string converted
  23. */
  24. function code_to_utf8($num) {
  25. if ($num <= 0x7F) {
  26. return chr($num);
  27. } elseif ($num <= 0x7FF) {
  28. return chr(($num >> 0x06) + 0xC0).chr(($num & 0x3F) + 128);
  29. } elseif ($num <= 0xFFFF) {
  30. return chr(($num >> 0x0C) + 0xE0).chr((($num >> 0x06) & 0x3F) + 0x80).chr(($num & 0x3F) + 0x80);
  31. } elseif ($num <= 0x1FFFFF) {
  32. return chr(($num >> 0x12) + 0xF0).chr((($num >> 0x0C) & 0x3F) + 0x80).chr((($num >> 0x06) & 0x3F) + 0x80).chr(($num & 0x3F) + 0x80);
  33. }
  34. return ' '; // default value
  35. }
  36. /**
  37. * Reverse function for htmlentities.
  38. * Convert entities in UTF-8.
  39. * @param $text_to_convert Text to convert.
  40. * @return string converted
  41. */
  42. function html_entity_decode_php4($text_to_convert) {
  43. $htmlentities_table = array (
  44. "&Aacute;" => "".chr(195).chr(129)."",
  45. "&aacute;" => "".chr(195).chr(161)."",
  46. "&Acirc;" => "".chr(195).chr(130)."",
  47. "&acirc;" => "".chr(195).chr(162)."",
  48. "&acute;" => "".chr(194).chr(180)."",
  49. "&AElig;" => "".chr(195).chr(134)."",
  50. "&aelig;" => "".chr(195).chr(166)."",
  51. "&Agrave;" => "".chr(195).chr(128)."",
  52. "&agrave;" => "".chr(195).chr(160)."",
  53. "&alefsym;" => "".chr(226).chr(132).chr(181)."",
  54. "&Alpha;" => "".chr(206).chr(145)."",
  55. "&alpha;" => "".chr(206).chr(177)."",
  56. "&amp;" => "".chr(38)."",
  57. "&and;" => "".chr(226).chr(136).chr(167)."",
  58. "&ang;" => "".chr(226).chr(136).chr(160)."",
  59. "&Aring;" => "".chr(195).chr(133)."",
  60. "&aring;" => "".chr(195).chr(165)."",
  61. "&asymp;" => "".chr(226).chr(137).chr(136)."",
  62. "&Atilde;" => "".chr(195).chr(131)."",
  63. "&atilde;" => "".chr(195).chr(163)."",
  64. "&Auml;" => "".chr(195).chr(132)."",
  65. "&auml;" => "".chr(195).chr(164)."",
  66. "&bdquo;" => "".chr(226).chr(128).chr(158)."",
  67. "&Beta;" => "".chr(206).chr(146)."",
  68. "&beta;" => "".chr(206).chr(178)."",
  69. "&brvbar;" => "".chr(194).chr(166)."",
  70. "&bull;" => "".chr(226).chr(128).chr(162)."",
  71. "&cap;" => "".chr(226).chr(136).chr(169)."",
  72. "&Ccedil;" => "".chr(195).chr(135)."",
  73. "&ccedil;" => "".chr(195).chr(167)."",
  74. "&cedil;" => "".chr(194).chr(184)."",
  75. "&cent;" => "".chr(194).chr(162)."",
  76. "&Chi;" => "".chr(206).chr(167)."",
  77. "&chi;" => "".chr(207).chr(135)."",
  78. "&circ;" => "".chr(203).chr(134)."",
  79. "&clubs;" => "".chr(226).chr(153).chr(163)."",
  80. "&cong;" => "".chr(226).chr(137).chr(133)."",
  81. "&copy;" => "".chr(194).chr(169)."",
  82. "&crarr;" => "".chr(226).chr(134).chr(181)."",
  83. "&cup;" => "".chr(226).chr(136).chr(170)."",
  84. "&curren;" => "".chr(194).chr(164)."",
  85. "&dagger;" => "".chr(226).chr(128).chr(160)."",
  86. "&Dagger;" => "".chr(226).chr(128).chr(161)."",
  87. "&darr;" => "".chr(226).chr(134).chr(147)."",
  88. "&dArr;" => "".chr(226).chr(135).chr(147)."",
  89. "&deg;" => "".chr(194).chr(176)."",
  90. "&Delta;" => "".chr(206).chr(148)."",
  91. "&delta;" => "".chr(206).chr(180)."",
  92. "&diams;" => "".chr(226).chr(153).chr(166)."",
  93. "&divide;" => "".chr(195).chr(183)."",
  94. "&Eacute;" => "".chr(195).chr(137)."",
  95. "&eacute;" => "".chr(195).chr(169)."",
  96. "&Ecirc;" => "".chr(195).chr(138)."",
  97. "&ecirc;" => "".chr(195).chr(170)."",
  98. "&Egrave;" => "".chr(195).chr(136)."",
  99. "&egrave;" => "".chr(195).chr(168)."",
  100. "&empty;" => "".chr(226).chr(136).chr(133)."",
  101. "&emsp;" => "".chr(226).chr(128).chr(131)."",
  102. "&ensp;" => "".chr(226).chr(128).chr(130)."",
  103. "&Epsilon;" => "".chr(206).chr(149)."",
  104. "&epsilon;" => "".chr(206).chr(181)."",
  105. "&equiv;" => "".chr(226).chr(137).chr(161)."",
  106. "&Eta;" => "".chr(206).chr(151)."",
  107. "&eta;" => "".chr(206).chr(183)."",
  108. "&ETH;" => "".chr(195).chr(144)."",
  109. "&eth;" => "".chr(195).chr(176)."",
  110. "&Euml;" => "".chr(195).chr(139)."",
  111. "&euml;" => "".chr(195).chr(171)."",
  112. "&euro;" => "".chr(226).chr(130).chr(172)."",
  113. "&exist;" => "".chr(226).chr(136).chr(131)."",
  114. "&fnof;" => "".chr(198).chr(146)."",
  115. "&forall;" => "".chr(226).chr(136).chr(128)."",
  116. "&frac12;" => "".chr(194).chr(189)."",
  117. "&frac14;" => "".chr(194).chr(188)."",
  118. "&frac34;" => "".chr(194).chr(190)."",
  119. "&frasl;" => "".chr(226).chr(129).chr(132)."",
  120. "&Gamma;" => "".chr(206).chr(147)."",
  121. "&gamma;" => "".chr(206).chr(179)."",
  122. "&ge;" => "".chr(226).chr(137).chr(165)."",
  123. "&harr;" => "".chr(226).chr(134).chr(148)."",
  124. "&hArr;" => "".chr(226).chr(135).chr(148)."",
  125. "&hearts;" => "".chr(226).chr(153).chr(165)."",
  126. "&hellip;" => "".chr(226).chr(128).chr(166)."",
  127. "&Iacute;" => "".chr(195).chr(141)."",
  128. "&iacute;" => "".chr(195).chr(173)."",
  129. "&Icirc;" => "".chr(195).chr(142)."",
  130. "&icirc;" => "".chr(195).chr(174)."",
  131. "&iexcl;" => "".chr(194).chr(161)."",
  132. "&Igrave;" => "".chr(195).chr(140)."",
  133. "&igrave;" => "".chr(195).chr(172)."",
  134. "&image;" => "".chr(226).chr(132).chr(145)."",
  135. "&infin;" => "".chr(226).chr(136).chr(158)."",
  136. "&int;" => "".chr(226).chr(136).chr(171)."",
  137. "&Iota;" => "".chr(206).chr(153)."",
  138. "&iota;" => "".chr(206).chr(185)."",
  139. "&iquest;" => "".chr(194).chr(191)."",
  140. "&isin;" => "".chr(226).chr(136).chr(136)."",
  141. "&Iuml;" => "".chr(195).chr(143)."",
  142. "&iuml;" => "".chr(195).chr(175)."",
  143. "&Kappa;" => "".chr(206).chr(154)."",
  144. "&kappa;" => "".chr(206).chr(186)."",
  145. "&Lambda;" => "".chr(206).chr(155)."",
  146. "&lambda;" => "".chr(206).chr(187)."",
  147. "&lang;" => "".chr(226).chr(140).chr(169)."",
  148. "&laquo;" => "".chr(194).chr(171)."",
  149. "&larr;" => "".chr(226).chr(134).chr(144)."",
  150. "&lArr;" => "".chr(226).chr(135).chr(144)."",
  151. "&lceil;" => "".chr(226).chr(140).chr(136)."",
  152. "&ldquo;" => "".chr(226).chr(128).chr(156)."",
  153. "&le;" => "".chr(226).chr(137).chr(164)."",
  154. "&lfloor;" => "".chr(226).chr(140).chr(138)."",
  155. "&lowast;" => "".chr(226).chr(136).chr(151)."",
  156. "&loz;" => "".chr(226).chr(151).chr(138)."",
  157. "&lrm;" => "".chr(226).chr(128).chr(142)."",
  158. "&lsaquo;" => "".chr(226).chr(128).chr(185)."",
  159. "&lsquo;" => "".chr(226).chr(128).chr(152)."",
  160. "&macr;" => "".chr(194).chr(175)."",
  161. "&mdash;" => "".chr(226).chr(128).chr(148)."",
  162. "&micro;" => "".chr(194).chr(181)."",
  163. "&middot;" => "".chr(194).chr(183)."",
  164. "&minus;" => "".chr(226).chr(136).chr(146)."",
  165. "&Mu;" => "".chr(206).chr(156)."",
  166. "&mu;" => "".chr(206).chr(188)."",
  167. "&nabla;" => "".chr(226).chr(136).chr(135)."",
  168. "&nbsp;" => "".chr(194).chr(160)."",
  169. "&ndash;" => "".chr(226).chr(128).chr(147)."",
  170. "&ne;" => "".chr(226).chr(137).chr(160)."",
  171. "&ni;" => "".chr(226).chr(136).chr(139)."",
  172. "&not;" => "".chr(194).chr(172)."",
  173. "&notin;" => "".chr(226).chr(136).chr(137)."",
  174. "&nsub;" => "".chr(226).chr(138).chr(132)."",
  175. "&Ntilde;" => "".chr(195).chr(145)."",
  176. "&ntilde;" => "".chr(195).chr(177)."",
  177. "&Nu;" => "".chr(206).chr(157)."",
  178. "&nu;" => "".chr(206).chr(189)."",
  179. "&Oacute;" => "".chr(195).chr(147)."",
  180. "&oacute;" => "".chr(195).chr(179)."",
  181. "&Ocirc;" => "".chr(195).chr(148)."",
  182. "&ocirc;" => "".chr(195).chr(180)."",
  183. "&OElig;" => "".chr(197).chr(146)."",
  184. "&oelig;" => "".chr(197).chr(147)."",
  185. "&Ograve;" => "".chr(195).chr(146)."",
  186. "&ograve;" => "".chr(195).chr(178)."",
  187. "&oline;" => "".chr(226).chr(128).chr(190)."",
  188. "&Omega;" => "".chr(206).chr(169)."",
  189. "&omega;" => "".chr(207).chr(137)."",
  190. "&Omicron;" => "".chr(206).chr(159)."",
  191. "&omicron;" => "".chr(206).chr(191)."",
  192. "&oplus;" => "".chr(226).chr(138).chr(149)."",
  193. "&or;" => "".chr(226).chr(136).chr(168)."",
  194. "&ordf;" => "".chr(194).chr(170)."",
  195. "&ordm;" => "".chr(194).chr(186)."",
  196. "&Oslash;" => "".chr(195).chr(152)."",
  197. "&oslash;" => "".chr(195).chr(184)."",
  198. "&Otilde;" => "".chr(195).chr(149)."",
  199. "&otilde;" => "".chr(195).chr(181)."",
  200. "&otimes;" => "".chr(226).chr(138).chr(151)."",
  201. "&Ouml;" => "".chr(195).chr(150)."",
  202. "&ouml;" => "".chr(195).chr(182)."",
  203. "&para;" => "".chr(194).chr(182)."",
  204. "&part;" => "".chr(226).chr(136).chr(130)."",
  205. "&permil;" => "".chr(226).chr(128).chr(176)."",
  206. "&perp;" => "".chr(226).chr(138).chr(165)."",
  207. "&Phi;" => "".chr(206).chr(166)."",
  208. "&phi;" => "".chr(207).chr(134)."",
  209. "&Pi;" => "".chr(206).chr(160)."",
  210. "&pi;" => "".chr(207).chr(128)."",
  211. "&piv;" => "".chr(207).chr(150)."",
  212. "&plusmn;" => "".chr(194).chr(177)."",
  213. "&pound;" => "".chr(194).chr(163)."",
  214. "&prime;" => "".chr(226).chr(128).chr(178)."",
  215. "&Prime;" => "".chr(226).chr(128).chr(179)."",
  216. "&prod;" => "".chr(226).chr(136).chr(143)."",
  217. "&prop;" => "".chr(226).chr(136).chr(157)."",
  218. "&Psi;" => "".chr(206).chr(168)."",
  219. "&psi;" => "".chr(207).chr(136)."",
  220. "&radic;" => "".chr(226).chr(136).chr(154)."",
  221. "&rang;" => "".chr(226).chr(140).chr(170)."",
  222. "&raquo;" => "".chr(194).chr(187)."",
  223. "&rarr;" => "".chr(226).chr(134).chr(146)."",
  224. "&rArr;" => "".chr(226).chr(135).chr(146)."",
  225. "&rceil;" => "".chr(226).chr(140).chr(137)."",
  226. "&rdquo;" => "".chr(226).chr(128).chr(157)."",
  227. "&real;" => "".chr(226).chr(132).chr(156)."",
  228. "&reg;" => "".chr(194).chr(174)."",
  229. "&rfloor;" => "".chr(226).chr(140).chr(139)."",
  230. "&Rho;" => "".chr(206).chr(161)."",
  231. "&rho;" => "".chr(207).chr(129)."",
  232. "&rlm;" => "".chr(226).chr(128).chr(143)."",
  233. "&rsaquo;" => "".chr(226).chr(128).chr(186)."",
  234. "&rsquo;" => "".chr(226).chr(128).chr(153)."",
  235. "&sbquo;" => "".chr(226).chr(128).chr(154)."",
  236. "&Scaron;" => "".chr(197).chr(160)."",
  237. "&scaron;" => "".chr(197).chr(161)."",
  238. "&sdot;" => "".chr(226).chr(139).chr(133)."",
  239. "&sect;" => "".chr(194).chr(167)."",
  240. "&shy;" => "".chr(194).chr(173)."",
  241. "&Sigma;" => "".chr(206).chr(163)."",
  242. "&sigma;" => "".chr(207).chr(131)."",
  243. "&sigmaf;" => "".chr(207).chr(130)."",
  244. "&sim;" => "".chr(226).chr(136).chr(188)."",
  245. "&spades;" => "".chr(226).chr(153).chr(160)."",
  246. "&sub;" => "".chr(226).chr(138).chr(130)."",
  247. "&sube;" => "".chr(226).chr(138).chr(134)."",
  248. "&sum;" => "".chr(226).chr(136).chr(145)."",
  249. "&sup1;" => "".chr(194).chr(185)."",
  250. "&sup2;" => "".chr(194).chr(178)."",
  251. "&sup3;" => "".chr(194).chr(179)."",
  252. "&sup;" => "".chr(226).chr(138).chr(131)."",
  253. "&supe;" => "".chr(226).chr(138).chr(135)."",
  254. "&szlig;" => "".chr(195).chr(159)."",
  255. "&Tau;" => "".chr(206).chr(164)."",
  256. "&tau;" => "".chr(207).chr(132)."",
  257. "&there4;" => "".chr(226).chr(136).chr(180)."",
  258. "&Theta;" => "".chr(206).chr(152)."",
  259. "&theta;" => "".chr(206).chr(184)."",
  260. "&thetasym;" => "".chr(207).chr(145)."",
  261. "&thinsp;" => "".chr(226).chr(128).chr(137)."",
  262. "&THORN;" => "".chr(195).chr(158)."",
  263. "&thorn;" => "".chr(195).chr(190)."",
  264. "&tilde;" => "".chr(203).chr(156)."",
  265. "&times;" => "".chr(195).chr(151)."",
  266. "&trade;" => "".chr(226).chr(132).chr(162)."",
  267. "&Uacute;" => "".chr(195).chr(154)."",
  268. "&uacute;" => "".chr(195).chr(186)."",
  269. "&uarr;" => "".chr(226).chr(134).chr(145)."",
  270. "&uArr;" => "".chr(226).chr(135).chr(145)."",
  271. "&Ucirc;" => "".chr(195).chr(155)."",
  272. "&ucirc;" => "".chr(195).chr(187)."",
  273. "&Ugrave;" => "".chr(195).chr(153)."",
  274. "&ugrave;" => "".chr(195).chr(185)."",
  275. "&uml;" => "".chr(194).chr(168)."",
  276. "&upsih;" => "".chr(207).chr(146)."",
  277. "&Upsilon;" => "".chr(206).chr(165)."",
  278. "&upsilon;" => "".chr(207).chr(133)."",
  279. "&Uuml;" => "".chr(195).chr(156)."",
  280. "&uuml;" => "".chr(195).chr(188)."",
  281. "&weierp;" => "".chr(226).chr(132).chr(152)."",
  282. "&Xi;" => "".chr(206).chr(158)."",
  283. "&xi;" => "".chr(206).chr(190)."",
  284. "&Yacute;" => "".chr(195).chr(157)."",
  285. "&yacute;" => "".chr(195).chr(189)."",
  286. "&yen;" => "".chr(194).chr(165)."",
  287. "&yuml;" => "".chr(195).chr(191)."",
  288. "&Yuml;" => "".chr(197).chr(184)."",
  289. "&Zeta;" => "".chr(206).chr(150)."",
  290. "&zeta;" => "".chr(206).chr(182)."",
  291. "&zwj;" => "".chr(226).chr(128).chr(141)."",
  292. "&zwnj;" => "".chr(226).chr(128).chr(140)."",
  293. "&gt;" => ">",
  294. "&lt;" => "<"
  295. );
  296. $return_text = strtr($text_to_convert, $htmlentities_table);
  297. $return_text = preg_replace('~&#x([0-9a-f]+);~ei', 'code_to_utf8(hexdec("\\1"))', $return_text);
  298. $return_text = preg_replace('~&#([0-9]+);~e', 'code_to_utf8(\\1)', $return_text);
  299. return $return_text;
  300. }
  301. //============================================================+
  302. // END OF FILE
  303. //============================================================+
  304. ?>