Fonction preg_split
La fonction preg_split divise une chaîne en éléments de tableau, en utilisant une expression régulière pour rechercher les séparateurs. Le premier paramètre accepte l'expression régulière, le second - la chaîne source. Le troisième paramètre optionnel définit le nombre d'éléments du tableau dans le résultat final. Le quatrième paramètre optionnel définit les
drapeaux modifiant le comportement de la fonction.
Syntaxe
preg_split(pattern, subject, [limit], [flags]);
Drapeaux
| Drapeau | Constante | Description |
|---|---|---|
PREG_SPLIT_NO_EMPTY |
1 | Retourne uniquement les parties non vides après la division. |
PREG_SPLIT_DELIM_CAPTURE |
2 | Capture et retourne les parties de la correspondance avec les sous-motifs dans l'expression régulière. |
PREG_SPLIT_OFFSET_CAPTURE |
4 | Pour chaque partie retournée, ajoute sa position dans la chaîne source. |
Exemple
Divisons une chaîne par des virgules :
<?php
$res = preg_split('/,/', 'a,b,c,d,e');
var_dump($res);
?>
Résultat de l'exécution du code :
['a', 'b', 'c', 'd', 'e']
Exemple
Divisons une chaîne par n'importe quel caractère d'espacement avec une limite sur le nombre d'éléments :
<?php
$res = preg_split('/\s+/', '1 2 3 4 5', 3);
var_dump($res);
?>
Résultat de l'exécution du code :
['1', '2', '3 4 5']
Exemple
Utilisation du drapeau PREG_SPLIT_NO_EMPTY pour exclure les éléments vides :
<?php
$res = preg_split('/[,\s]/', 'a,b, c, ,d', -1, PREG_SPLIT_NO_EMPTY);
var_dump($res);
?>
Résultat de l'exécution du code :
['a', 'b', 'c', 'd']
Voir aussi
-
la fonction
preg_match,
qui effectue une recherche par expression régulière -
la fonction
explode,
qui divise une chaîne par un séparateur simple