htmlentities23.phpt 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. --TEST--
  2. htmlentities() / htmlspecialchars() ENT_SUBSTITUTE EUC-JP
  3. --FILE--
  4. <?php
  5. $tests = array(
  6. "\x8F\xA1\xFF", //2 sub as 2nd is potentially valid as lead
  7. "\x8F\xA1", //2 sub, as 2nd is potentially valid as lead
  8. "\x8F", //1 sub
  9. "\x8F\xA0", //1 sub, A0 is not valid as sole/first byte
  10. "\x8F\xA1\x21", //2 sub, no consume last
  11. "\x8F\x21", //1 sub, no consume last
  12. "\x8E\xAE", //valid
  13. "\x8E", //1 sub
  14. "\x8E\x21", //1 sub, no consume last
  15. "\xB2\xFF", //1 sub
  16. "\xB2", //1 sub
  17. "\xB2\x21", //1 sub, no consume last
  18. "\xA0", //1 sub
  19. );
  20. foreach ($tests as $test) {
  21. error_reporting(~E_STRICT);
  22. $a = htmlentities($test, ENT_QUOTES | ENT_SUBSTITUTE, "EUC-JP");
  23. error_reporting(-1);
  24. var_dump($a, bin2hex($a));
  25. $a = htmlspecialchars($test, ENT_QUOTES | ENT_SUBSTITUTE, "EUC-JP");
  26. var_dump($a, bin2hex($a));
  27. echo "\n";
  28. }
  29. ?>
  30. --EXPECT--
  31. string(16) "&#xFFFD;&#xFFFD;"
  32. string(32) "262378464646443b262378464646443b"
  33. string(16) "&#xFFFD;&#xFFFD;"
  34. string(32) "262378464646443b262378464646443b"
  35. string(16) "&#xFFFD;&#xFFFD;"
  36. string(32) "262378464646443b262378464646443b"
  37. string(16) "&#xFFFD;&#xFFFD;"
  38. string(32) "262378464646443b262378464646443b"
  39. string(8) "&#xFFFD;"
  40. string(16) "262378464646443b"
  41. string(8) "&#xFFFD;"
  42. string(16) "262378464646443b"
  43. string(8) "&#xFFFD;"
  44. string(16) "262378464646443b"
  45. string(8) "&#xFFFD;"
  46. string(16) "262378464646443b"
  47. string(17) "&#xFFFD;&#xFFFD;!"
  48. string(34) "262378464646443b262378464646443b21"
  49. string(17) "&#xFFFD;&#xFFFD;!"
  50. string(34) "262378464646443b262378464646443b21"
  51. string(9) "&#xFFFD;!"
  52. string(18) "262378464646443b21"
  53. string(9) "&#xFFFD;!"
  54. string(18) "262378464646443b21"
  55. string(2) "Ž®"
  56. string(4) "8eae"
  57. string(2) "Ž®"
  58. string(4) "8eae"
  59. string(8) "&#xFFFD;"
  60. string(16) "262378464646443b"
  61. string(8) "&#xFFFD;"
  62. string(16) "262378464646443b"
  63. string(9) "&#xFFFD;!"
  64. string(18) "262378464646443b21"
  65. string(9) "&#xFFFD;!"
  66. string(18) "262378464646443b21"
  67. string(8) "&#xFFFD;"
  68. string(16) "262378464646443b"
  69. string(8) "&#xFFFD;"
  70. string(16) "262378464646443b"
  71. string(8) "&#xFFFD;"
  72. string(16) "262378464646443b"
  73. string(8) "&#xFFFD;"
  74. string(16) "262378464646443b"
  75. string(9) "&#xFFFD;!"
  76. string(18) "262378464646443b21"
  77. string(9) "&#xFFFD;!"
  78. string(18) "262378464646443b21"
  79. string(8) "&#xFFFD;"
  80. string(16) "262378464646443b"
  81. string(8) "&#xFFFD;"
  82. string(16) "262378464646443b"