split -- split string into array by regular expression


array split(string pattern, string string, int [limit]);

Returns an array of strings, each of which is a substring of string formed by splitting it on boundaries formed by the regular expression pattern. If an error occurs, returns false.

To get the first five fields from a line from /etc/passwd:

Example 1. split() example

$passwd_list = split( ":", $passwd_line, 5 );

To parse a date which may be delimited with slashes, dots, or hyphens:

Example 2. split() example

$date = "04/30/1973";  // Delimiters may be slash, dot, or hyphen
list( $month, $day, $year ) = split( '[/.-]', $date );
echo "Month: $month; Day: $day; Year: $year<br>\n";

Note that pattern is case-sensitive.

Note that if you don't require the power of regular expressions, it is faster to use explode(), which doesn't incur the overhead of the regular expression engine.

Please note that pattern is a regular expression. If you want to split on any of the characters which are considered special by regular expressions, you'll need to escape them first. If you think split() (or any other regex function, for that matter) is doing something weird, please read the file regex.7, included in the regex/ subdirectory of the PHP distribution. It's in manpage format, so you'll want to do something along the lines of man /usr/local/src/regex/regex.7 in order to read it.

See also: explode() and implode().