Manuel PHP
Précédent |  | Suivant

# preg_split

(PHP 3>= 3.0.9, PHP 4 , PHP 5)

preg_split -- Eclate une chaîne par expression régulière

## Description

array 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.

Exemple 1. Eclatement 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 offsets

`<?php $str = 'langage hypertexte, programmation'; $chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE); print_r($chars); ?>`

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 Beta 3.

Voir aussi spliti(), split(), implode(), preg_match(), preg_match_all() et preg_replace().

Précédent | Sommaire | Suivant
preg_replace | Niveau supérieur | qtdom