utf-8.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. <?php
  2. /**
  3. * utf-8 html entities table
  4. *
  5. * @copyright 2004-2025 The SquirrelMail Project Team
  6. * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  7. * @version $Id$
  8. * @package squirrelmail
  9. * @subpackage strings
  10. */
  11. $sq_html_ent_table = array_merge($sq_html_ent_table,
  12. array(// Latin1
  13. "\xC2\xA0" => '&nbsp;',
  14. "\xC2\xA1" => '&iexcl;',
  15. "\xC2\xA2" => '&cent;',
  16. "\xC2\xA3" => '&pound;',
  17. "\xC2\xA4" => '&curren;',
  18. "\xC2\xA5" => '&yen;',
  19. "\xC2\xA6" => '&brvbar;',
  20. "\xC2\xA7" => '&sect;',
  21. "\xC2\xA8" => '&uml;',
  22. "\xC2\xA9" => '&copy;',
  23. "\xC2\xAA" => '&ordf;',
  24. "\xC2\xAB" => '&laquo;',
  25. "\xC2\xAC" => '&not;',
  26. "\xC2\xAD" => '&shy;',
  27. "\xC2\xAE" => '&reg;',
  28. "\xC2\xAF" => '&macr;',
  29. "\xC2\xB0" => '&deg;',
  30. "\xC2\xB1" => '&plusmn;',
  31. "\xC2\xB2" => '&sup2;',
  32. "\xC2\xB3" => '&sup3;',
  33. "\xC2\xB4" => '&acute;',
  34. "\xC2\xB5" => '&micro;',
  35. "\xC2\xB6" => '&para;',
  36. "\xC2\xB7" => '&middot;',
  37. "\xC2\xB8" => '&cedil;',
  38. "\xC2\xB9" => '&sup1;',
  39. "\xC2\xBA" => '&ordm;',
  40. "\xC2\xBB" => '&raquo;',
  41. "\xC2\xBC" => '&frac14;',
  42. "\xC2\xBD" => '&frac12;',
  43. "\xC2\xBE" => '&frac34;',
  44. "\xC2\xBF" => '&iquest;',
  45. "\xC3\x80" => '&Agrave;',
  46. "\xC3\x81" => '&Aacute;',
  47. "\xC3\x82" => '&Acirc;',
  48. "\xC3\x83" => '&Atilde;',
  49. "\xC3\x84" => '&Auml;',
  50. "\xC3\x85" => '&Aring;',
  51. "\xC3\x86" => '&AElig;',
  52. "\xC3\x87" => '&Ccedil;',
  53. "\xC3\x88" => '&Egrave;',
  54. "\xC3\x89" => '&Eacute;',
  55. "\xC3\x8A" => '&Ecirc;',
  56. "\xC3\x8B" => '&Euml;',
  57. "\xC3\x8C" => '&Igrave;',
  58. "\xC3\x8D" => '&Iacute;',
  59. "\xC3\x8E" => '&Icirc;',
  60. "\xC3\x8F" => '&Iuml;',
  61. "\xC3\x90" => '&ETH;',
  62. "\xC3\x91" => '&Ntilde;',
  63. "\xC3\x92" => '&Ograve;',
  64. "\xC3\x93" => '&Oacute;',
  65. "\xC3\x94" => '&Ocirc;',
  66. "\xC3\x95" => '&Otilde;',
  67. "\xC3\x96" => '&Ouml;',
  68. "\xC3\x97" => '&times;',
  69. "\xC3\x98" => '&Oslash;',
  70. "\xC3\x99" => '&Ugrave;',
  71. "\xC3\x9A" => '&Uacute;',
  72. "\xC3\x9B" => '&Ucirc;',
  73. "\xC3\x9C" => '&Uuml;',
  74. "\xC3\x9D" => '&Yacute;',
  75. "\xC3\x9E" => '&THORN;',
  76. "\xC3\x9F" => '&szlig;',
  77. "\xC3\xA0" => '&agrave;',
  78. "\xC3\xA1" => '&aacute;',
  79. "\xC3\xA2" => '&acirc;',
  80. "\xC3\xA3" => '&atilde;',
  81. "\xC3\xA4" => '&auml;',
  82. "\xC3\xA5" => '&aring;',
  83. "\xC3\xA6" => '&aelig;',
  84. "\xC3\xA7" => '&ccedil;',
  85. "\xC3\xA8" => '&egrave;',
  86. "\xC3\xA9" => '&eacute;',
  87. "\xC3\xAA" => '&ecirc;',
  88. "\xC3\xAB" => '&euml;',
  89. "\xC3\xAC" => '&igrave;',
  90. "\xC3\xAD" => '&iacute;',
  91. "\xC3\xAE" => '&icirc;',
  92. "\xC3\xAF" => '&iuml;',
  93. "\xC3\xB0" => '&eth;',
  94. "\xC3\xB1" => '&ntilde;',
  95. "\xC3\xB2" => '&ograve;',
  96. "\xC3\xB3" => '&oacute;',
  97. "\xC3\xB4" => '&ocirc;',
  98. "\xC3\xB5" => '&otilde;',
  99. "\xC3\xB6" => '&ouml;',
  100. "\xC3\xB7" => '&divide;',
  101. "\xC3\xB8" => '&oslash;',
  102. "\xC3\xB9" => '&ugrave;',
  103. "\xC3\xBA" => '&uacute;',
  104. "\xC3\xBB" => '&ucirc;',
  105. "\xC3\xBC" => '&uuml;',
  106. "\xC3\xBD" => '&yacute;',
  107. "\xC3\xBE" => '&thorn;',
  108. "\xC3\xBF" => '&yuml;',
  109. // Latin Extended-A
  110. "\xC5\x92" => '&OElig;',
  111. "\xC5\x93" => '&oelig;',
  112. "\xC5\xA0" => '&Scaron;',
  113. "\xC5\xA1" => '&scaron;',
  114. "\xC5\xB8" => '&Yuml;',
  115. // Spacing Modifier Letters
  116. "\xCB\x86" => '&circ;',
  117. "\xCB\x9C" => '&tilde;',
  118. // General Punctuation
  119. "\xE2\x80\x82" => '&ensp;',
  120. "\xE2\x80\x83" => '&emsp;',
  121. "\xE2\x80\x89" => '&thinsp;',
  122. "\xE2\x80\x8C" => '&zwnj;',
  123. "\xE2\x80\x8D" => '&zwj;',
  124. "\xE2\x80\x8E" => '&lrm;',
  125. "\xE2\x80\x8F" => '&rlm;',
  126. "\xE2\x80\x93" => '&ndash;',
  127. "\xE2\x80\x94" => '&mdash;',
  128. "\xE2\x80\x98" => '&lsquo;',
  129. "\xE2\x80\x99" => '&rsquo;',
  130. "\xE2\x80\x9A" => '&sbquo;',
  131. "\xE2\x80\x9C" => '&ldquo;',
  132. "\xE2\x80\x9D" => '&rdquo;',
  133. "\xE2\x80\x9E" => '&bdquo;',
  134. "\xE2\x80\xA0" => '&dagger;',
  135. "\xE2\x80\xA1" => '&Dagger;',
  136. "\xE2\x80\xB0" => '&permil;',
  137. "\xE2\x80\xB9" => '&lsaquo;',
  138. "\xE2\x80\xBA" => '&rsaquo;',
  139. "\xE2\x82\xAC" => '&euro;',
  140. // Latin Extended-B
  141. "\xC6\x92" => '&fnof;',
  142. // Greek
  143. "\xCE\x91" => '&Alpha;',
  144. "\xCE\x92" => '&Beta;',
  145. "\xCE\x93" => '&Gamma;',
  146. "\xCE\x94" => '&Delta;',
  147. "\xCE\x95" => '&Epsilon;',
  148. "\xCE\x96" => '&Zeta;',
  149. "\xCE\x97" => '&Eta;',
  150. "\xCE\x98" => '&Theta;',
  151. "\xCE\x99" => '&Iota;',
  152. "\xCE\x9A" => '&Kappa;',
  153. "\xCE\x9B" => '&Lambda;',
  154. "\xCE\x9C" => '&Mu;',
  155. "\xCE\x9D" => '&Nu;',
  156. "\xCE\x9E" => '&Xi;',
  157. "\xCE\x9F" => '&Omicron;',
  158. "\xCE\xA0" => '&Pi;',
  159. "\xCE\xA1" => '&Rho;',
  160. "\xCE\xA3" => '&Sigma;',
  161. "\xCE\xA4" => '&Tau;',
  162. "\xCE\xA5" => '&Upsilon;',
  163. "\xCE\xA6" => '&Phi;',
  164. "\xCE\xA7" => '&Chi;',
  165. "\xCE\xA8" => '&Psi;',
  166. "\xCE\xA9" => '&Omega;',
  167. "\xCE\xB1" => '&alpha;',
  168. "\xCE\xB2" => '&beta;',
  169. "\xCE\xB3" => '&gamma;',
  170. "\xCE\xB4" => '&delta;',
  171. "\xCE\xB5" => '&epsilon;',
  172. "\xCE\xB6" => '&zeta;',
  173. "\xCE\xB7" => '&eta;',
  174. "\xCE\xB8" => '&theta;',
  175. "\xCE\xB9" => '&iota;',
  176. "\xCE\xBA" => '&kappa;',
  177. "\xCE\xBB" => '&lambda;',
  178. "\xCE\xBC" => '&mu;',
  179. "\xCE\xBD" => '&nu;',
  180. "\xCE\xBE" => '&xi;',
  181. "\xCE\xBF" => '&omicron;',
  182. "\xCF\x80" => '&pi;',
  183. "\xCF\x81" => '&rho;',
  184. "\xCF\x82" => '&sigmaf;',
  185. "\xCF\x83" => '&sigma;',
  186. "\xCF\x84" => '&tau;',
  187. "\xCF\x85" => '&upsilon;',
  188. "\xCF\x86" => '&phi;',
  189. "\xCF\x87" => '&chi;',
  190. "\xCF\x88" => '&psi;',
  191. "\xCF\x89" => '&omega;',
  192. "\xCF\x91" => '&thetasym;',
  193. "\xCF\x92" => '&upsih;',
  194. "\xCF\x96" => '&piv;',
  195. // General Punctuation
  196. "\xE2\x80\xA2" => '&bull;',
  197. "\xE2\x80\xA6" => '&hellip;',
  198. "\xE2\x80\xB2" => '&prime;',
  199. "\xE2\x80\xB3" => '&Prime;',
  200. "\xE2\x80\xBE" => '&oline;',
  201. "\xE2\x81\x84" => '&frasl;',
  202. // Letterlike Symbols
  203. "\xE2\x84\x98" => '&weierp;',
  204. "\xE2\x84\x91" => '&image;',
  205. "\xE2\x84\x9C" => '&real;',
  206. "\xE2\x84\xA2" => '&trade;',
  207. "\xE2\x84\xB5" => '&alefsym;',
  208. // Arrows
  209. "\xE2\x86\x90" => '&larr;',
  210. "\xE2\x86\x91" => '&uarr;',
  211. "\xE2\x86\x92" => '&rarr;',
  212. "\xE2\x86\x93" => '&darr;',
  213. "\xE2\x86\x94" => '&harr;',
  214. "\xE2\x86\xB5" => '&crarr;',
  215. "\xE2\x87\x90" => '&lArr;',
  216. "\xE2\x87\x91" => '&uArr;',
  217. "\xE2\x87\x92" => '&rArr;',
  218. "\xE2\x87\x93" => '&dArr;',
  219. "\xE2\x87\x94" => '&hArr;',
  220. // Mathematical Operators
  221. "\xE2\x88\x80" => '&forall;',
  222. "\xE2\x88\x82" => '&part;',
  223. "\xE2\x88\x83" => '&exist;',
  224. "\xE2\x88\x85" => '&empty;',
  225. "\xE2\x88\x87" => '&nabla;',
  226. "\xE2\x88\x88" => '&isin;',
  227. "\xE2\x88\x89" => '&notin;',
  228. "\xE2\x88\x8B" => '&ni;',
  229. "\xE2\x88\x8F" => '&prod;',
  230. "\xE2\x88\x91" => '&sum;',
  231. "\xE2\x88\x92" => '&minus;',
  232. "\xE2\x88\x97" => '&lowast;',
  233. "\xE2\x88\x9A" => '&radic;',
  234. "\xE2\x88\x9D" => '&prop;',
  235. "\xE2\x88\x9E" => '&infin;',
  236. "\xE2\x88\xA0" => '&ang;',
  237. "\xE2\x88\xA7" => '&and;',
  238. "\xE2\x88\xA8" => '&or;',
  239. "\xE2\x88\xA9" => '&cap;',
  240. "\xE2\x88\xAA" => '&cup;',
  241. "\xE2\x88\xAB" => '&int;',
  242. "\xE2\x88\xB4" => '&there4;',
  243. "\xE2\x88\xBC" => '&sim;',
  244. "\xE2\x89\x85" => '&cong;',
  245. "\xE2\x89\x88" => '&asymp;',
  246. "\xE2\x89\xA0" => '&ne;',
  247. "\xE2\x89\xA1" => '&equiv;',
  248. "\xE2\x89\xA4" => '&le;',
  249. "\xE2\x89\xA5" => '&ge;',
  250. "\xE2\x8A\x82" => '&sub;',
  251. "\xE2\x8A\x83" => '&sup;',
  252. "\xE2\x8A\x84" => '&nsub;',
  253. "\xE2\x8A\x86" => '&sube;',
  254. "\xE2\x8A\x87" => '&supe;',
  255. "\xE2\x8A\x95" => '&oplus;',
  256. "\xE2\x8A\x97" => '&otimes;',
  257. "\xE2\x8A\xA5" => '&perp;',
  258. "\xE2\x8B\x85" => '&sdot;',
  259. // Miscellaneous Technical
  260. "\xE2\x8C\x88" => '&lceil;',
  261. "\xE2\x8C\x89" => '&rceil;',
  262. "\xE2\x8C\x8A" => '&lfloor;',
  263. "\xE2\x8C\x8B" => '&rfloor;',
  264. "\xE2\x8C\xA9" => '&lang;',
  265. "\xE2\x8C\xAA" => '&rang;',
  266. // Geometric Shapes
  267. "\xE2\x97\x8A" => '&loz;',
  268. // Miscellaneous Symbols
  269. "\xE2\x99\xA0" => '&spades;',
  270. "\xE2\x99\xA3" => '&clubs;',
  271. "\xE2\x99\xA5" => '&hearts;',
  272. "\xE2\x99\xA6" => '&diams;'
  273. )
  274. );