preg_split
(PHP 4, PHP 5)
preg_split — Éclate une chaîne par expression rationnelle
Description
$pattern
, string $subject
[, int $limit = -1
[, int $flags = 0
]] )Éclate une chaîne par expression rationnelle.
Liste de paramètres
-
pattern -
Le masque à chercher, sous la forme d'une chaîne de caractères.
-
subject -
La chaîne d'entrée.
-
limit -
Si
limitest spécifié, alors seules leslimitpremières sous-chaînes sont retournées avec le reste de la chaîne placé dans la dernière sous-chaîne. Si vous définissez le paramètrelimità -1, 0, ouNULL, cela signifie "aucune limite" et, vous pouvez utiliser la valeurNULLpour ignorer le paramètreflags. -
flags -
flagspeut être la combinaison des options suivantes (combinées avec l'opérateur |):-
PREG_SPLIT_NO_EMPTY - Si cette option est activée, seules les sous-chaînes non vides seront retournées par preg_split().
-
PREG_SPLIT_DELIM_CAPTURE - Si cette option est activée, les expressions entre parenthèses entre les délimiteurs de masques seront aussi capturées et retournées.
-
PREG_SPLIT_OFFSET_CAPTURE -
Si cette option est activée, pour chaque résultat, la position de celui-ci sera retournée. Notez que cela change la valeur retournée en un tableau où chaque élément est un tableau constitué de la chaîne trouvée à la position 0 et la position de la chaîne dans
subjectà la position 1.
-
Valeurs de retour
Retourne un tableau contenant les sous-chaînes de subject,
séparées par les chaînes qui vérifient pattern.
Historique
| Version | Description |
|---|---|
| 4.3.0 |
Le drapeau PREG_SPLIT_OFFSET_CAPTURE a été ajouté.
|
| 4.0.5 |
Le drapeau PREG_SPLIT_DELIM_CAPTURE a été ajouté.
|
Exemples
Exemple #1 Exemple avec preg_split() : Éclatement d'une chaîne de recherche
<?php // scinde la phrase grâce aux virgules et espacements // ce qui inclus les " ", \r, \t, \n et \f $keywords = preg_split("/[\s,]+/", "langage hypertexte, programmation"); print_r($keywords); ?>
<?php $str = 'string'; $chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY); print_r($chars); ?>
<?php $str = 'langage hypertexte, programmation'; $chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE); print_r($chars); ?>
L'exemple ci-dessus va afficher :
Array
(
[0] => Array
(
[0] => langage
[1] => 0
)
[1] => Array
(
[0] => hypertexte,
[1] => 8
)
[2] => Array
(
[0] => programmation
[1] => 20
)
)
Notes
Si vous n'avez pas besoin de la puissance des expressions régulières, vous pouvez choisir des alternatives plus rapides (quoique plus simples) comme explode() ou str_split().
Si la recherche d'une correspondance échoue, un tableau contenant qu'un seul élément contenant la chaîne d'entrée sera retourné.
Voir aussi
- Les Patterns PCRE
- implode() - Rassemble les éléments d'un tableau en une chaîne
- preg_match() - Expression rationnelle standard
- preg_match_all() - Expression rationnelle globale
- preg_replace() - Rechercher et remplacer par expression rationnelle standard
- preg_last_error() - Retourne le code erreur de la dernière expression PCRE exécutée
