Vous êtes ici Fonction PHP > Description de la fonction preg_split()

 

Recherche sur les Noms des fonctions php/mysql

 
 

preg_split()

Définition

Éclate une chaîne par expression rationnelle - (PHP 4, PHP 5)

Description

array preg_split ( string $pattern , string $subject [, int $limit [, int $flags ]] )

É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 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

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.
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é.
4.0.0 Le paramètre flags 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");
?>

Exemple #2 Scinder une chaîne en caractères

<?php
$str 
'string';
$chars preg_split('//'$str, -1PREG_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, -1PREG_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
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().



 
 

Bouts de code utilisant la fonction preg_split()



<?php /* ... */     // ce qui inclus les " ", \r, \t, \n et \f     $strArray preg_split("/[\s,;\.\:\"\'\?\!]+/"$str);     $return ""; /* ... */ ?>

<?php /* ... */ function countWordsWithChar($string,$c){     $mots preg_split("/[\s,;\.!\?:]+/"$string);     $count 0; /* ... */ ?>

<?php /* ... */ );     $texte preg_split ("/\s+/",$texte);      array_walk($texte,"filtre_mots"); /* ... */ ?>

<?php /* ... */    // Place tous les mots d'une chaine dans un tableau    $tab_mot preg_split("/[\s,.:\?-]+/"$texte);    // compte le nombre de mots /* ... */ ?>

<?php /* ... */   print_r(           preg_split(                      '/^(d{4})|(d{2})/' /* ... */ ?>