Vous êtes ici > Liste des fonctions PHP et MySQL > Description de la fonction split()

Accès au manager - réservé aux membres

Navigation

Moteurs de recherches sur les fonctions

Lancer une recherche sur les fonctions php et mysql

recherche

Fonction split()

Définition


Scinde une chaîne en un tableau, grâce à une expression rationnelle - (PHP 4, PHP 5)

Description

array split ( string $pattern , string $string [, int $limit ] )

Scinde la chaîne string dans un tableau grâce à une expression rationnelle.

Liste de paramètres

pattern

Expression rationnelle sensible à la casse.

Si vous voulez utiliser n'importe quel caractère spécial des expressions rationnelles, vous devez les échapper. Si vous pensez que split() (ou toute autre expression rationnelle) se comporte bizarrement, lisez d'abord le fichier regex.7, inclus dans le dossier regex/ de la distribution PHP . Il est au format manpage, et vous pourrez le lire avec une commande telle que man /usr/local/src/regex/regex.7.

string

La chaîne d'entrée.

limit

Si limit est défini, le tableau retourné contiendra un maximum de limit éléments avec le dernier élément contenant le reste de la chaîne string .

Valeurs de retour

Retourne un tableau de chaînes : chacune d'entre elle est une sous-chaîne de string délimitée par les occurrences trouvées de l'expression rationnelle pattern .

S'il y a n occurrences de pattern , le tableau retourné contiendra n+1 éléments. Par exemple, s'il n'y a aucune occurrence de pattern , un tableau d'un seul élément sera retourné. Bien sûr, cela reste vrai si string est une chaîne vide. Si une erreur survient, split() retournera FALSE.

Exemples

Exemple #1 Exemple avec split()

Pour scinder les 4 premiers champs d'une ligne du fichier /etc/passwd :

<?php
list($user$pass$uid$gid$extra) =
    
split(":"$passwd_line5);
?>

Exemple #2 Exemple avec split()

Pour analyser une date qui est délimitée par des /, des points ou des tirets :

<?php
// Les délimiteurs peuvent être des tirets, points ou slash
$date "04/30/1973";
list(
$month$day$year) = split('[/.-]'$date);
echo 
"Mois : $month; Jour : $day; Année : $year<br />\n";
?>

Notes

Astuce

preg_split(), qui utilise la syntaxe des expressions rationnelles compatibles PERL, est une alternative plus rapide à split(). Si vous n'avez pas besoin de la puissance des expressions rationnelles, il est plus rapide d'utiliser explode(), qui n'utilise pas le moteur d'expressions rationnelles.

Astuce

Pour les utilisateurs qui recherchent le moyen d'émuler la commande Perl @chars = split('', $str), voyez la fonction preg_split() ou la fonction str_split().



Bouts de code utilisant la fonction split()

Extraire tous les mots d'une phrase

<?php /* ... */
    $separateur "[ ]+"// 1 ou plusieurs espaces
    $mots split($separateur$sansponctuation); 
    return $mots;
/* ... */ ?>


Générateur de Nuage de Mots

<?php /* ... */
// Place tous les mots d'une chaine dans un tableau
$regs1 split("[^[:alpha:]]+"$texte);
$tab_copie $regs1// copie de la table
/* ... */ ?>


Connaitre les doublons dans une table SQL

<?php /* ... */
           $ch strtolower($ch); // passe minuscule
           $regs_split = split("[^[:alpha:]]+"$ch);
           // enleve les mots bannis en faisant le difference des 2 tableaux
/* ... */ ?>


Cherche et trouve les mots trop long d'un texte

<?php /* ... */
// place les mots dans un tableau
$regs split("[^[:alpha:]]+"$texte);
// boucle sur la liste de mots
/* ... */ ?>


Prend tous les liens d'une page HTML et les place dans un tableau

<?php /* ... */
// change la chaine en 1 seule ligne
$lignes split("\n",$html);
// $lignes est maintenant un tableau de ligne
/* ... */ ?>


Poster un commentaire

:P :) :wink: :lol: :surprised: :confused: :mad: :no:
Taille du texte:
Couleur:
Code de sécurité