iconv_substr_basic.phpt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. --TEST--
  2. Test iconv_substr() function : basic functionality
  3. --EXTENSIONS--
  4. iconv
  5. --INI--
  6. input_encoding=ISO-8859-1
  7. internal_encoding=ISO-8859-1
  8. output_encoding=ISO-8859-1
  9. --FILE--
  10. <?php
  11. /*
  12. * Test Basic Functionality of iconv_substr with ASCII characters and multibyte strings.
  13. */
  14. echo "*** Testing iconv_substr() : basic functionality ***\n";
  15. $string_ascii = 'ABCDEF';
  16. //Japanese string in UTF-8
  17. $string_mb = base64_decode('5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII=');
  18. echo "\n-- ASCII string 1 --\n";
  19. var_dump(bin2hex(iconv_substr($string_ascii, 3)));
  20. echo "\n-- ASCII string 2 --\n";
  21. var_dump(bin2hex(iconv_substr($string_ascii, 3, 5, 'ISO-8859-1')));
  22. echo "\n-- Multibyte string 1 --\n";
  23. $result_1 = iconv_substr($string_mb, 2, 7);
  24. var_dump(bin2hex($result_1));
  25. echo "\n-- Multibyte string 2 --\n";
  26. $result_2 = iconv_substr($string_mb, 2, 7, 'utf-8');
  27. var_dump(bin2hex($result_2));
  28. echo "Done";
  29. ?>
  30. --EXPECT--
  31. *** Testing iconv_substr() : basic functionality ***
  32. -- ASCII string 1 --
  33. string(6) "444546"
  34. -- ASCII string 2 --
  35. string(6) "444546"
  36. -- Multibyte string 1 --
  37. string(14) "a5e69cace8aa9e"
  38. -- Multibyte string 2 --
  39. string(42) "e8aa9ee38386e382ade382b9e38388e381a7e38199"
  40. Done