htmlentities24.phpt 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  1. --TEST--
  2. Test htmlentities() function
  3. --FILE--
  4. <?php
  5. /* Prototype: string htmlentities ( string $string [, int $quote_style [, string $charset]] );
  6. Description: Convert all applicable characters to HTML entities
  7. */
  8. /* retrieving htmlentities from the ANSI character table */
  9. echo "*** Retrieving htmlentities for 256 characters ***\n";
  10. for($i=0; $i<256; $i++)
  11. var_dump( bin2hex( htmlentities("chr($i)")) );
  12. /* giving arguments as NULL */
  13. echo "\n*** Testing htmlentities() with NULL as first,second and third argument ***\n";
  14. var_dump( htmlentities("\x82\x86\x99\x9f\x80\x82\x81", ENT_QUOTES, NULL) ); /* UTF-8 assumed */
  15. var_dump( htmlentities("\x82\x86\x99\x9f\x80\x82\x81", ENT_NOQUOTES, NULL) ); /* UTF-8 assumed */
  16. var_dump( htmlentities("\x82\x86\x99\x9f\x80\x82\x81", ENT_COMPAT, NULL) ); /* UTF-8 assumed */
  17. /* giving long string to check for proper memory re-allocation */
  18. echo "\n*** Checking for proper memory allocation with long string ***\n";
  19. var_dump( htmlentities("\x82\x86\x99\x9f\x80\x82\x86\x84\x80\x89\x85\x83\x86\x84\x80\x91\x83\x91\x86\x87\x85\x86\x88\x82\x89\x92\x91\x83", ENT_QUOTES, 'cp1252'));
  20. /* giving a normal string */
  21. echo "\n*** Testing a normal string with htmlentities() ***\n";
  22. var_dump( htmlentities("<html> This is a test! </html>") );
  23. /* checking behavior of quote */
  24. echo "\n*** Testing htmlentites() on a quote ***\n";
  25. $str = "A 'quote' is <b>bold</b>";
  26. var_dump( htmlentities($str) );
  27. var_dump( htmlentities($str, ENT_QUOTES) );
  28. var_dump( htmlentities($str, ENT_NOQUOTES) );
  29. var_dump( htmlentities($str, ENT_COMPAT) );
  30. echo "Done\n";
  31. ?>
  32. --EXPECT--
  33. *** Retrieving htmlentities for 256 characters ***
  34. string(12) "636872283029"
  35. string(12) "636872283129"
  36. string(12) "636872283229"
  37. string(12) "636872283329"
  38. string(12) "636872283429"
  39. string(12) "636872283529"
  40. string(12) "636872283629"
  41. string(12) "636872283729"
  42. string(12) "636872283829"
  43. string(12) "636872283929"
  44. string(14) "63687228313029"
  45. string(14) "63687228313129"
  46. string(14) "63687228313229"
  47. string(14) "63687228313329"
  48. string(14) "63687228313429"
  49. string(14) "63687228313529"
  50. string(14) "63687228313629"
  51. string(14) "63687228313729"
  52. string(14) "63687228313829"
  53. string(14) "63687228313929"
  54. string(14) "63687228323029"
  55. string(14) "63687228323129"
  56. string(14) "63687228323229"
  57. string(14) "63687228323329"
  58. string(14) "63687228323429"
  59. string(14) "63687228323529"
  60. string(14) "63687228323629"
  61. string(14) "63687228323729"
  62. string(14) "63687228323829"
  63. string(14) "63687228323929"
  64. string(14) "63687228333029"
  65. string(14) "63687228333129"
  66. string(14) "63687228333229"
  67. string(14) "63687228333329"
  68. string(14) "63687228333429"
  69. string(14) "63687228333529"
  70. string(14) "63687228333629"
  71. string(14) "63687228333729"
  72. string(14) "63687228333829"
  73. string(14) "63687228333929"
  74. string(14) "63687228343029"
  75. string(14) "63687228343129"
  76. string(14) "63687228343229"
  77. string(14) "63687228343329"
  78. string(14) "63687228343429"
  79. string(14) "63687228343529"
  80. string(14) "63687228343629"
  81. string(14) "63687228343729"
  82. string(14) "63687228343829"
  83. string(14) "63687228343929"
  84. string(14) "63687228353029"
  85. string(14) "63687228353129"
  86. string(14) "63687228353229"
  87. string(14) "63687228353329"
  88. string(14) "63687228353429"
  89. string(14) "63687228353529"
  90. string(14) "63687228353629"
  91. string(14) "63687228353729"
  92. string(14) "63687228353829"
  93. string(14) "63687228353929"
  94. string(14) "63687228363029"
  95. string(14) "63687228363129"
  96. string(14) "63687228363229"
  97. string(14) "63687228363329"
  98. string(14) "63687228363429"
  99. string(14) "63687228363529"
  100. string(14) "63687228363629"
  101. string(14) "63687228363729"
  102. string(14) "63687228363829"
  103. string(14) "63687228363929"
  104. string(14) "63687228373029"
  105. string(14) "63687228373129"
  106. string(14) "63687228373229"
  107. string(14) "63687228373329"
  108. string(14) "63687228373429"
  109. string(14) "63687228373529"
  110. string(14) "63687228373629"
  111. string(14) "63687228373729"
  112. string(14) "63687228373829"
  113. string(14) "63687228373929"
  114. string(14) "63687228383029"
  115. string(14) "63687228383129"
  116. string(14) "63687228383229"
  117. string(14) "63687228383329"
  118. string(14) "63687228383429"
  119. string(14) "63687228383529"
  120. string(14) "63687228383629"
  121. string(14) "63687228383729"
  122. string(14) "63687228383829"
  123. string(14) "63687228383929"
  124. string(14) "63687228393029"
  125. string(14) "63687228393129"
  126. string(14) "63687228393229"
  127. string(14) "63687228393329"
  128. string(14) "63687228393429"
  129. string(14) "63687228393529"
  130. string(14) "63687228393629"
  131. string(14) "63687228393729"
  132. string(14) "63687228393829"
  133. string(14) "63687228393929"
  134. string(16) "6368722831303029"
  135. string(16) "6368722831303129"
  136. string(16) "6368722831303229"
  137. string(16) "6368722831303329"
  138. string(16) "6368722831303429"
  139. string(16) "6368722831303529"
  140. string(16) "6368722831303629"
  141. string(16) "6368722831303729"
  142. string(16) "6368722831303829"
  143. string(16) "6368722831303929"
  144. string(16) "6368722831313029"
  145. string(16) "6368722831313129"
  146. string(16) "6368722831313229"
  147. string(16) "6368722831313329"
  148. string(16) "6368722831313429"
  149. string(16) "6368722831313529"
  150. string(16) "6368722831313629"
  151. string(16) "6368722831313729"
  152. string(16) "6368722831313829"
  153. string(16) "6368722831313929"
  154. string(16) "6368722831323029"
  155. string(16) "6368722831323129"
  156. string(16) "6368722831323229"
  157. string(16) "6368722831323329"
  158. string(16) "6368722831323429"
  159. string(16) "6368722831323529"
  160. string(16) "6368722831323629"
  161. string(16) "6368722831323729"
  162. string(16) "6368722831323829"
  163. string(16) "6368722831323929"
  164. string(16) "6368722831333029"
  165. string(16) "6368722831333129"
  166. string(16) "6368722831333229"
  167. string(16) "6368722831333329"
  168. string(16) "6368722831333429"
  169. string(16) "6368722831333529"
  170. string(16) "6368722831333629"
  171. string(16) "6368722831333729"
  172. string(16) "6368722831333829"
  173. string(16) "6368722831333929"
  174. string(16) "6368722831343029"
  175. string(16) "6368722831343129"
  176. string(16) "6368722831343229"
  177. string(16) "6368722831343329"
  178. string(16) "6368722831343429"
  179. string(16) "6368722831343529"
  180. string(16) "6368722831343629"
  181. string(16) "6368722831343729"
  182. string(16) "6368722831343829"
  183. string(16) "6368722831343929"
  184. string(16) "6368722831353029"
  185. string(16) "6368722831353129"
  186. string(16) "6368722831353229"
  187. string(16) "6368722831353329"
  188. string(16) "6368722831353429"
  189. string(16) "6368722831353529"
  190. string(16) "6368722831353629"
  191. string(16) "6368722831353729"
  192. string(16) "6368722831353829"
  193. string(16) "6368722831353929"
  194. string(16) "6368722831363029"
  195. string(16) "6368722831363129"
  196. string(16) "6368722831363229"
  197. string(16) "6368722831363329"
  198. string(16) "6368722831363429"
  199. string(16) "6368722831363529"
  200. string(16) "6368722831363629"
  201. string(16) "6368722831363729"
  202. string(16) "6368722831363829"
  203. string(16) "6368722831363929"
  204. string(16) "6368722831373029"
  205. string(16) "6368722831373129"
  206. string(16) "6368722831373229"
  207. string(16) "6368722831373329"
  208. string(16) "6368722831373429"
  209. string(16) "6368722831373529"
  210. string(16) "6368722831373629"
  211. string(16) "6368722831373729"
  212. string(16) "6368722831373829"
  213. string(16) "6368722831373929"
  214. string(16) "6368722831383029"
  215. string(16) "6368722831383129"
  216. string(16) "6368722831383229"
  217. string(16) "6368722831383329"
  218. string(16) "6368722831383429"
  219. string(16) "6368722831383529"
  220. string(16) "6368722831383629"
  221. string(16) "6368722831383729"
  222. string(16) "6368722831383829"
  223. string(16) "6368722831383929"
  224. string(16) "6368722831393029"
  225. string(16) "6368722831393129"
  226. string(16) "6368722831393229"
  227. string(16) "6368722831393329"
  228. string(16) "6368722831393429"
  229. string(16) "6368722831393529"
  230. string(16) "6368722831393629"
  231. string(16) "6368722831393729"
  232. string(16) "6368722831393829"
  233. string(16) "6368722831393929"
  234. string(16) "6368722832303029"
  235. string(16) "6368722832303129"
  236. string(16) "6368722832303229"
  237. string(16) "6368722832303329"
  238. string(16) "6368722832303429"
  239. string(16) "6368722832303529"
  240. string(16) "6368722832303629"
  241. string(16) "6368722832303729"
  242. string(16) "6368722832303829"
  243. string(16) "6368722832303929"
  244. string(16) "6368722832313029"
  245. string(16) "6368722832313129"
  246. string(16) "6368722832313229"
  247. string(16) "6368722832313329"
  248. string(16) "6368722832313429"
  249. string(16) "6368722832313529"
  250. string(16) "6368722832313629"
  251. string(16) "6368722832313729"
  252. string(16) "6368722832313829"
  253. string(16) "6368722832313929"
  254. string(16) "6368722832323029"
  255. string(16) "6368722832323129"
  256. string(16) "6368722832323229"
  257. string(16) "6368722832323329"
  258. string(16) "6368722832323429"
  259. string(16) "6368722832323529"
  260. string(16) "6368722832323629"
  261. string(16) "6368722832323729"
  262. string(16) "6368722832323829"
  263. string(16) "6368722832323929"
  264. string(16) "6368722832333029"
  265. string(16) "6368722832333129"
  266. string(16) "6368722832333229"
  267. string(16) "6368722832333329"
  268. string(16) "6368722832333429"
  269. string(16) "6368722832333529"
  270. string(16) "6368722832333629"
  271. string(16) "6368722832333729"
  272. string(16) "6368722832333829"
  273. string(16) "6368722832333929"
  274. string(16) "6368722832343029"
  275. string(16) "6368722832343129"
  276. string(16) "6368722832343229"
  277. string(16) "6368722832343329"
  278. string(16) "6368722832343429"
  279. string(16) "6368722832343529"
  280. string(16) "6368722832343629"
  281. string(16) "6368722832343729"
  282. string(16) "6368722832343829"
  283. string(16) "6368722832343929"
  284. string(16) "6368722832353029"
  285. string(16) "6368722832353129"
  286. string(16) "6368722832353229"
  287. string(16) "6368722832353329"
  288. string(16) "6368722832353429"
  289. string(16) "6368722832353529"
  290. *** Testing htmlentities() with NULL as first,second and third argument ***
  291. string(0) ""
  292. string(0) ""
  293. string(0) ""
  294. *** Checking for proper memory allocation with long string ***
  295. string(198) "&sbquo;&dagger;&trade;&Yuml;&euro;&sbquo;&dagger;&bdquo;&euro;&permil;&hellip;&fnof;&dagger;&bdquo;&euro;&lsquo;&fnof;&lsquo;&dagger;&Dagger;&hellip;&dagger;&circ;&sbquo;&permil;&rsquo;&lsquo;&fnof;"
  296. *** Testing a normal string with htmlentities() ***
  297. string(42) "&lt;html&gt; This is a test! &lt;/html&gt;"
  298. *** Testing htmlentites() on a quote ***
  299. string(46) "A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;"
  300. string(46) "A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;"
  301. string(36) "A 'quote' is &lt;b&gt;bold&lt;/b&gt;"
  302. string(36) "A 'quote' is &lt;b&gt;bold&lt;/b&gt;"
  303. Done