8.113 Expressions rationnelles
8 Référence des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes pré-définies . Exemples . Voir aussi . ereg_replace . ereg . eregi_replace . eregi ->split . spliti . sql_regcase
|
8.113.13 split()
Scinde une chaîne en un tableau, grâce à une expression rationnelle
[ Exemples avec split ] PHP 3, PHP 4, PHP 5
array
split (
string
pattern
,
string
string
,
int
limit
)
Array
split
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
. 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
.
Si une erreur survient, retourne
FALSE
.
Pour lire les 5 premiers champs d'une ligne du fichier
/etc/passwd
:
Exemple avec split |
<?php list($user, $pass, $uid, $gid, $extra)= split (":", $passwd_line, 5); ?>
|
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.
Pour analyser une date qui est délimitée par des /,
des points ou des tirets :
Exemple avec split |
<?php // Les délimiteurs peuvent être des tirets, points ou slash $date = "04/30/1973"; list($month, $day, $year) = split('[/.-]', $date); echo "Month: $month; Day: $day; Year: $year<br />\n"; ?>
|
Pour les utilisateurs qui recherchent le moyen d'émuler
la commande Perl
@chars = split('', $str)
,
voyez
preg_split
.
Notez aussi que
pattern
est une
expression rationnelle. 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
.
Voir aussi
preg_split
,
spliti
,
explode
,
implode
,
chunk_split
et
wordwrap
.
|