The preg_split Function
The preg_split
function splits a string into array elements using a regular expression to find delimiters. The first parameter accepts a regular expression, the second - the source string. The third optional parameter specifies the number of array elements in the final result. The fourth optional parameter specifies
flags that change the function's behavior.
Syntax
preg_split(pattern, subject, [limit], [flags]);
Flags
Flag | Constant | Description |
---|---|---|
PREG_SPLIT_NO_EMPTY |
1 | Returns only non-empty parts after splitting. |
PREG_SPLIT_DELIM_CAPTURE |
2 | Captures and returns parts of the match with subpatterns in the regular expression. |
PREG_SPLIT_OFFSET_CAPTURE |
4 | For each returned part, adds its position in the source string. |
Example
Let's split a string by commas:
<?php
$res = preg_split('/,/', 'a,b,c,d,e');
var_dump($res);
?>
Code execution result:
['a', 'b', 'c', 'd', 'e']
Example
Let's split a string by any whitespace characters with a limit on the number of elements:
<?php
$res = preg_split('/\s+/', '1 2 3 4 5', 3);
var_dump($res);
?>
Code execution result:
['1', '2', '3 4 5']
Example
Using the PREG_SPLIT_NO_EMPTY
flag to exclude empty elements:
<?php
$res = preg_split('/[,\s]/', 'a,b, c, ,d', -1, PREG_SPLIT_NO_EMPTY);
var_dump($res);
?>
Code execution result:
['a', 'b', 'c', 'd']
See Also
-
the
preg_match
function,
which performs a search by regular expression -
the
explode
function,
which splits a string by a simple delimiter