preg_split
(PHP 4, PHP 5, PHP 7)
preg_split — Split string by a regular expression
Description
$pattern
, string $subject
[, int $limit
= -1
[, int $flags
= 0
]] ) : arraySplit the given string by a regular expression.
Parameters
-
pattern
-
The pattern to search for, as a string.
-
subject
-
The input string.
-
limit
-
If specified, then only substrings up to
limit
are returned with the rest of the string being placed in the last substring. Alimit
of -1 or 0 means "no limit" and, as is standard across PHP, you can useNULL
to skip to theflags
parameter. -
flags
-
flags
can be any combination of the following flags (combined with the | bitwise operator):-
PREG_SPLIT_NO_EMPTY
- If this flag is set, only non-empty pieces will be returned by preg_split().
-
PREG_SPLIT_DELIM_CAPTURE
- If this flag is set, parenthesized expression in the delimiter pattern will be captured and returned as well.
-
PREG_SPLIT_OFFSET_CAPTURE
-
If this flag is set, for every occurring match the appendant string offset will also be returned. Note that this changes the return value in an array where every element is an array consisting of the matched string at offset 0 and its string offset into
subject
at offset 1.
-
Return Values
Returns an array containing substrings of subject
split along boundaries matched by pattern
, or FALSE
on failure.
Examples
Example #1 preg_split() example : Get the parts of a search string
<?php
// split the phrase by any number of commas or space characters,
// which include " ", \r, \t, \n and \f
$keywords = preg_split("/[\s,]+/", "hypertext language, programming");
print_r($keywords);
?>
The above example will output:
Array ( [0] => hypertext [1] => language [2] => programming )
Example #2 Splitting a string into component characters
<?php
$str = 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>
The above example will output:
Array ( [0] => s [1] => t [2] => r [3] => i [4] => n [5] => g )
Example #3 Splitting a string into matches and their offsets
<?php
$str = 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>
The above example will output:
Array ( [0] => Array ( [0] => hypertext [1] => 0 ) [1] => Array ( [0] => language [1] => 10 ) [2] => Array ( [0] => programming [1] => 19 ) )
Notes
If you don't need the power of regular expressions, you can choose faster (albeit simpler) alternatives like explode() or str_split().
If matching fails, an array with a single element containing the input string will be returned.
See Also
- PCRE Patterns
- preg_quote() - Quote regular expression characters
- implode() - Join array elements with a string
- preg_match() - Perform a regular expression match
- preg_match_all() - Perform a global regular expression match
- preg_replace() - Perform a regular expression search and replace
- preg_last_error() - Returns the error code of the last PCRE regex execution
Vertaling niet beschikbaar
De PHP-handleiding is nog niet in het Nederlands vertaald, dus het scherm is in het Engels. Als u wilt, kunt u het ook in het Frans of in het Duits raadplegen.
Als je de moed voelt, kun je je vertaling aanbieden ;-)
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 30/01/2003 gemaakt, de laatste keer de 26/10/2018 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/php-rf-function.preg-split.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
Referenties
Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.