htmlentities-utf.phpt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. --TEST--
  2. HTML entities with invalid chars
  3. --INI--
  4. output_handler=
  5. --FILE--
  6. <?php
  7. @setlocale (LC_CTYPE, "C");
  8. $strings = array("<", "\xD0", "\xD0\x90", "\xD0\x90\xD0", "\xD0\x90\xD0\xB0", "\xE0", "A\xE0", "\xE0\x80", "\xE0\x79", "\xE0\x80\xBE",
  9. "Voil\xE0", "Clich\xE9s",
  10. "\xFE", "\xFE\x41", "\xC3\xA9", "\xC3\x79", "\xF7\xBF\xBF\xBF", "\xFB\xBF\xBF\xBF\xBF", "\xFD\xBF\xBF\xBF\xBF\xBF",
  11. "\x41\xF7\xF7\x42", "\x42\xFB\xFB\x42", "\x43\xFD\xFD\x42", "\x44\xF7\xF7", "\x45\xFB\xFB", "\x46\xFD\xFD"
  12. );
  13. foreach($strings as $string) {
  14. $sc_encoded = htmlspecialchars ($string, ENT_QUOTES, "utf-8");
  15. var_dump(bin2hex($sc_encoded));
  16. $ent_encoded = htmlentities ($string, ENT_QUOTES, "utf-8");
  17. var_dump(bin2hex($ent_encoded));
  18. }
  19. ?>
  20. --EXPECT--
  21. string(8) "266c743b"
  22. string(8) "266c743b"
  23. string(0) ""
  24. string(0) ""
  25. string(4) "d090"
  26. string(4) "d090"
  27. string(0) ""
  28. string(0) ""
  29. string(8) "d090d0b0"
  30. string(8) "d090d0b0"
  31. string(0) ""
  32. string(0) ""
  33. string(0) ""
  34. string(0) ""
  35. string(0) ""
  36. string(0) ""
  37. string(0) ""
  38. string(0) ""
  39. string(0) ""
  40. string(0) ""
  41. string(0) ""
  42. string(0) ""
  43. string(0) ""
  44. string(0) ""
  45. string(0) ""
  46. string(0) ""
  47. string(0) ""
  48. string(0) ""
  49. string(4) "c3a9"
  50. string(16) "266561637574653b"
  51. string(0) ""
  52. string(0) ""
  53. string(0) ""
  54. string(0) ""
  55. string(0) ""
  56. string(0) ""
  57. string(0) ""
  58. string(0) ""
  59. string(0) ""
  60. string(0) ""
  61. string(0) ""
  62. string(0) ""
  63. string(0) ""
  64. string(0) ""
  65. string(0) ""
  66. string(0) ""
  67. string(0) ""
  68. string(0) ""
  69. string(0) ""
  70. string(0) ""