preg_split

Eléphant du PHP | 288 Messages

05 oct. 2005, 19:45

Bonjour j'ai une variable qui contient des numeros de travaux separés par - (donc par exemple j'ai 20-21). Je veux les séparer. J'autile donc preg_split mais j'ai une erreur qui dit :

Warning: preg_split() [function.preg-split]: No ending delimiter '-' found in balabla.

voila le bout de code
$matrice = preg_split ("-", $numtravail)
quelqu'un sait pkoi j'ai cette erreur.[/php]

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

05 oct. 2005, 19:57

SAlut, d'apres la doc
Eclate une chaîne par expression rationnelle
c'est pas le cas avec " - "

utilise plustot explode()
$matrice = explode("-",$numtravail);

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 1885 Messages

05 oct. 2005, 20:06

Les fonctions preg_* nécessitent un délimiteur à même la chaine.

Donc
$matrice = preg_split ("-", $numtravail);
Devient
$matrice = preg_split ("#-#", $numtravail);

Le but est d'insérer deux caractères identiques qui permettront de délimiter l'expression régulière dans la chaine. Cela s'explique par le fait que les fonctions preg_* acceptent les options à même l'expression régulière.

Exemple
$matrice = preg_split ("#-#m", $numtravail);
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Eléphant du PHP | 288 Messages

05 oct. 2005, 20:48

merci a tous
peux mettre ca resolut