mb_strstr_variation5.phpt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. --TEST--
  2. Test mb_strstr() function : variation - multiple needles
  3. --EXTENSIONS--
  4. mbstring
  5. --FILE--
  6. <?php
  7. echo "*** Testing mb_strstr() : variation ***\n";
  8. mb_internal_encoding('UTF-8');
  9. //with repeated needles
  10. $string_ascii = 'abcdef zbcdyx';
  11. $needle_ascii = "bcd";
  12. //Japanese string in UTF-8 with repeated needles
  13. $string_mb = base64_decode('5pel5pys6Kqe44OG44Kt44K544OIMzTvvJXvvJbml6XmnKzoqp7jg4bjgq3jgrnjg4g=');
  14. $needle_mb = base64_decode('6Kqe44OG44Kt');
  15. echo "-- Ascii data --\n";
  16. var_dump(bin2hex(mb_strstr($string_ascii, $needle_ascii, false)));
  17. var_dump(bin2hex(mb_strstr($string_ascii, $needle_ascii, true)));
  18. echo "-- mb data in utf-8 --\n";
  19. $res = mb_strstr($string_mb, $needle_mb, false);
  20. if ($res !== false) {
  21. var_dump(bin2hex($res));
  22. }
  23. else {
  24. echo "nothing found!\n";
  25. }
  26. $res = mb_strstr($string_mb, $needle_mb, true);
  27. if ($res !== false) {
  28. var_dump(bin2hex($res));
  29. }
  30. else {
  31. echo "nothing found!\n";
  32. }
  33. ?>
  34. --EXPECT--
  35. *** Testing mb_strstr() : variation ***
  36. -- Ascii data --
  37. string(24) "6263646566207a6263647978"
  38. string(2) "61"
  39. -- mb data in utf-8 --
  40. string(88) "e8aa9ee38386e382ade382b9e383883334efbc95efbc96e697a5e69cace8aa9ee38386e382ade382b9e38388"
  41. string(12) "e697a5e69cac"