preg_split_error1.phpt 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. --TEST--
  2. Test preg_split() function : error conditions - bad regular expressions
  3. --FILE--
  4. <?php
  5. /*
  6. * proto array preg_split(string pattern, string subject [, int limit [, int flags]])
  7. * Function is implemented in ext/pcre/php_pcre.c
  8. */
  9. error_reporting(E_ALL&~E_NOTICE);
  10. /*
  11. * Testing how preg_split reacts to being passed the wrong type of regex argument
  12. */
  13. echo "*** Testing preg_split() : error conditions ***\n";
  14. $regex_array = array('abcdef', //Regex without delimiter
  15. '/[a-zA-Z]', //Regex without closing delimiter
  16. '[a-zA-Z]/', //Regex without opening delimiter
  17. '/[a-zA-Z]/F', array('[a-z]', //Array of Regexes
  18. '[A-Z]', '[0-9]'), '/[a-zA-Z]/', //Regex string
  19. );
  20. $subject = '1 2 a 3 4 b 5 6';
  21. foreach($regex_array as $regex_value) {
  22. print "\nArg value is $regex_value\n";
  23. var_dump(preg_split($regex_value, $subject));
  24. }
  25. $regex_value = new stdclass(); //Object
  26. var_dump(preg_split($regex_value, $subject));
  27. ?>
  28. --EXPECTF--
  29. *** Testing preg_split() : error conditions ***
  30. Arg value is abcdef
  31. Warning: preg_split(): Delimiter must not be alphanumeric or backslash in %spreg_split_error1.php on line %d
  32. bool(false)
  33. Arg value is /[a-zA-Z]
  34. Warning: preg_split(): No ending delimiter '/' found in %spreg_split_error1.php on line %d
  35. bool(false)
  36. Arg value is [a-zA-Z]/
  37. Warning: preg_split(): Unknown modifier '/' in %spreg_split_error1.php on line %d
  38. bool(false)
  39. Arg value is /[a-zA-Z]/F
  40. Warning: preg_split(): Unknown modifier 'F' in %spreg_split_error1.php on line %d
  41. bool(false)
  42. Arg value is Array
  43. Warning: preg_split() expects parameter 1 to be string, array given in %spreg_split_error1.php on line %d
  44. bool(false)
  45. Arg value is /[a-zA-Z]/
  46. array(3) {
  47. [0]=>
  48. string(4) "1 2 "
  49. [1]=>
  50. string(5) " 3 4 "
  51. [2]=>
  52. string(4) " 5 6"
  53. }
  54. Warning: preg_split() expects parameter 1 to be string, object given in %spreg_split_error1.php on line %d
  55. bool(false)