mb_split.phpt 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. --TEST--
  2. mb_split()
  3. --SKIPIF--
  4. <?php
  5. extension_loaded('mbstring') or die('skip mbstring not available');
  6. extension_loaded('pcre') or die('skip pcre not available');
  7. function_exists('mb_split') or die("skip mb_split() is not available in this build");
  8. ?>
  9. --INI--
  10. mbstring.func_overload=0
  11. --FILE--
  12. <?php
  13. mb_regex_set_options( '' );
  14. mb_regex_encoding( 'EUC-JP' );
  15. function verify_split( $spliton, $str, $count = 0 )
  16. {
  17. $result1 = mb_split( $spliton, $str, $count );
  18. $result2 = preg_split( "/$spliton/", $str, $count );
  19. if ( $result1 == $result2 ) {
  20. print "ok\n";
  21. } else {
  22. print count($result1).'-'.count($result2)."\n";
  23. }
  24. }
  25. var_dump( mb_split( " ", "a b c d e f g" )
  26. == mb_split( "[[:space:]]", "a\nb\tc\nd e f g" ) );
  27. for ( $i = 1; $i < 5; ++$i ) {
  28. verify_split( " ", "a\tb\tc\td e\tf g", $i );
  29. }
  30. for ( $i = 1; $i < 5; ++$i ) {
  31. verify_split( "\xa1\xa1+", "\xa1\xa1\xa1\xa2\xa2\xa1\xa1\xa1\xa1\xa1\xa1\xa2\xa2\xa1\xa1\xa1", $i );
  32. }
  33. ?>
  34. --EXPECT--
  35. bool(true)
  36. ok
  37. ok
  38. ok
  39. ok
  40. ok
  41. 2-2
  42. 3-3
  43. 4-4