. . . . . . . . . . |
|
|
preg_split
preg_split (PHP 3 >= 3.0.9, PHP 4, PHP 5) preg_split --
Eclate une chaîne par expression rationnelle
Descriptionarray preg_split ( string pattern, string subject [, int limit [, int flags]] )
preg_split() retourne un tableau contenant les
sous-chaînes de subject,
séparées par les chaînes qui vérifient
pattern.
Si limit est spécifié, alors seules les
limit premières sous-chaînes sont retournées
et si limit vaut -1, cela signifie en fait
"sans limite", ce qui est utile pour passer le paramètre
flags.
flags peut ê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.
Cette option a été ajoutée en PHP 4.0.5.
- 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.
Cette option est disponible depuis PHP 4.3.0.
Astuce :
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().
Exemple 1. É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"); ?>
|
|
Exemple 2. Scinder une chaîne en caractères
<?php $str = 'string'; $chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY); print_r($chars); ?>
|
|
Exemple 3. Scinde une chaîne et capture les positions
<?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
)
) |
|
Note :
Le paramètre flags a été
ajouté en PHP 4 Bêta 3.
Voir aussi
spliti(),
split(),
implode(),
preg_match(),
preg_match_all() et
preg_replace().
Retour au chapitre Php
|
|