split
Split string into array by regular expression
Description
array split
( string $pattern
, string $string
[, int $limit
= -1
] )
WarningThis function has been
DEPRECATED as of PHP 5.3.0. Relying on this feature is
highly discouraged.
Parameters
-
pattern
-
Case sensitive 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.
-
string
-
The input string.
-
limit
-
If limit
is set, the returned array will
contain a maximum of limit
elements with the
last element containing the whole rest of
string
.
Return Values
Returns an array of strings, each of which is a substring of
string
formed by splitting it on boundaries formed
by the case-sensitive regular expression pattern
.
If there are n occurrences of
pattern
, the returned array will contain
n+1 items. For example, if
there is no occurrence of pattern
, an array with
only one element will be returned. Of course, this is also true if
string
is empty. If an error occurs,
split returns FALSE
.
Examples
Example #1 split example
To split off the first four fields from a line from
/etc/passwd:
<?php
list($user, $pass, $uid, $gid, $extra) =
split(":", $passwd_line, 5);
?>
Example #2 split example
To parse a date which may be delimited with slashes, dots, or hyphens:
<?php
// Delimiters may be slash, dot, or hyphen
$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br />\n";
?>
Notes
Note:
As of PHP 5.3.0, the
regex extension is deprecated in favor of the
PCRE extension. Calling this function
will issue an E_DEPRECATED
notice. See the list of
differences for help on converting to PCRE.
Tip
split is deprecated as of PHP 5.3.0. preg_split
is the suggested alternative to this function. 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.
Tip
For users looking for a way to emulate Perl's @chars =
split('', $str) behaviour, please see the examples for
preg_split or str_split.
See Also
- preg_split
- spliti
- str_split
- explode
- implode
- chunk_split
- wordwrap