Problème avec preg_match

Bonjour,
Voila mon problème : je tente de vérifier qu’une adresse fourni par l’utilisateur est bien de la forme . . … . .mp3

j’ai donc écris ça :

if(preg_match("#^http://[a-z0-9._-/]{2,400}.mp3$#",$_POST[‘musique’]))

Malheureusement je me retrouve avec cette erreur : (que je rentre une adresse de la bonne forme ou pas.

Warning: preg_match() [function.preg-match]: Compilation failed: range out of order in character class at offset 18

Si vous pouviez m’aider !

Merci d’avance

Essai plutot avec {2,}, le 400 est peut etre trop grand.
Edité le 18/01/2008 à 18:56

J’avais pas penser à ça mais malheureusement ça marche pas non plus :frowning:

#^http://[a-z0-9._-/]{2,400}.mp3$#

Normal :slight_smile:

Le 18 ème caractère, c’est “-”. Si tu ne le protége pas ("-"), tu dis: l’intervalle entre “_” et “/”, ce qui est une absurdité pour lui puisque ce n’est pas valide.

Hannnnnn bien joué :stuck_out_tongue: Merci !!

J’avais aussi oublié A-Z au cas ou il y ai des majuscule!!

Merci en tout cas !

Met un #i alors.

#i pour quoi faire ???

#^http://[a-z0-9._-/]{2,400}.mp3$#i

pour ignorer la casse des caractères.

La doc de PHP t’en apprendra plus.

a ok ! t’a oublié le \ devant - :stuck_out_tongue:

Ouai la doc php je sais je sais mais c’est plus facile de demander sur le forum en vitesse :slight_smile:

Merci bieng !