1--TEST-- 2Test 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*/ 9error_reporting(E_ALL&~E_NOTICE); 10/* 11* Testing how preg_split reacts to being passed the wrong type of regex argument 12*/ 13echo "*** 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'; 21foreach($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 26var_dump(preg_split($regex_value, $subject)); 27?> 28--EXPECTF-- 29*** Testing preg_split() : error conditions *** 30 31Arg value is abcdef 32 33Warning: preg_split(): Delimiter must not be alphanumeric or backslash in %spreg_split_error1.php on line %d 34bool(false) 35 36Arg value is /[a-zA-Z] 37 38Warning: preg_split(): No ending delimiter '/' found in %spreg_split_error1.php on line %d 39bool(false) 40 41Arg value is [a-zA-Z]/ 42 43Warning: preg_split(): Unknown modifier '/' in %spreg_split_error1.php on line %d 44bool(false) 45 46Arg value is /[a-zA-Z]/F 47 48Warning: preg_split(): Unknown modifier 'F' in %spreg_split_error1.php on line %d 49bool(false) 50 51Arg value is Array 52 53Warning: preg_split() expects parameter 1 to be string, array given in %spreg_split_error1.php on line %d 54bool(false) 55 56Arg value is /[a-zA-Z]/ 57array(3) { 58 [0]=> 59 string(4) "1 2 " 60 [1]=> 61 string(5) " 3 4 " 62 [2]=> 63 string(4) " 5 6" 64} 65 66Warning: preg_split() expects parameter 1 to be string, object given in %spreg_split_error1.php on line %d 67bool(false) 68