Une seule fonction permet de découper une chaîne suivant un modèle :
preg_split().
Dans sa forme la plus simple cette fonction utilise deux paramètres
:
- l'expression régulière servant à faire le découpage,
- la chaîne à découper.
La fonction renvoie un tableau contenant les sous-chaînes
trouvées.
L'exemple suivant découpe une chaîne suivant les caractères de
ponctuation.
On voit que la fonction a aussi capturé
les chaînes vides : le dernier élément du tableau correspond à ce
qui se trouve après le dernier point d'exclamation.
L'exemple suivant extrait les mots d'un texte. On considère
qu'un mot est composé de 1 ou plusieurs caractères, entourés par des
caractères d'espacement et/ou des signes de ponctuation.
On constate que l'expression \W récupère bien les mots, mais
aussi des chaînes vides, correspondant entre autres à la suite des
caractères de ponctuation.
Pour éviter ces chaînes vides, nous pouvons appeler preg_split()
avec des paramètres supplémentaire :
- un troisième paramètre qui définit le nombre de découpages
à faire (par défaut la fonction découpe jusqu'à ce qu'elle ne
trouve plus de correspondance au modèle)
- un quatrième paramètre sous la forme d'une constante :
PREG_SPLIT_NO_EMPTY qui empêche le renvoi des chaînes vides, et
PREG_SPLIT_DELIM_CAPTURE qui demande à la fonction de retourner
aussi les délimiteurs (uniquement valable si les délimiteurs sont
entourés de parenthèses).
Si on ne veut pas fixer le nombre de découpages et que l'on a
besoin d'utiliser le quatrième paramètre, le troisième paramètre
soit être -1, ce qui signifiera "découpage sans limite".