ybet Posté 24 Mai 2006 Partager Posté 24 Mai 2006 La documentation sur Internet est assez légère sur Internet sur cette fonction. Besoin d'un peu d'aide. Mon bit est de limiter seulement quelques format de fichiers, et venant seulement d'un disque dur ou lecteur de CD. <?php$subject = "c:\Image.jpg";$pattern = "/(.gif$)|(.jpg$)|(.png$)/i";$matches=preg_match($pattern, $subject);print($matches);?> teste si $subject termine par .gif, .jpg ou .png. Jusque là pas trop de soucis. Si je remplace le contenu de $pattern par "/(^c)|(^d)|(^e)/i", ca marche aussi, la vérification se fait sur la première lettre de la chaîne, en l'occurence c, d ou e. Le problème est de mettre ces 2 conditions: commence par c, d ou e ET termine par .gif, .jpg ou .png. Quelqu'un a une idée "relativement simple", je débute . Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kioob Posté 24 Mai 2006 Partager Posté 24 Mai 2006 Hello ceci devrait faire l'affaire : $pattern = '/^[cde].*\\.(gif|jpg|png)$/i'; Pour un peu plus d'explications : http://www.expreg.com/ Lien vers le commentaire Partager sur d’autres sites More sharing options...
ybet Posté 24 Mai 2006 Auteur Partager Posté 24 Mai 2006 (modifié) vient de tester, génial et merci. Le . permet donc de remplacer n'importe quel caractère, * je pense que c'est pour les caractères au milieu, mais les \\, pour vérifier autre chose? Modifié 24 Mai 2006 par ybet Lien vers le commentaire Partager sur d’autres sites More sharing options...
TheRec Posté 24 Mai 2006 Partager Posté 24 Mai 2006 La documentation de PHP sur la syntaxe ainsi que sur les options des expressions rationnelles PCRE est exhaustive ... c'est beaucoup de lecture, j'admet, mais c'est utile Lien vers le commentaire Partager sur d’autres sites More sharing options...
ybet Posté 24 Mai 2006 Auteur Partager Posté 24 Mai 2006 La documentation de PHP sur la syntaxe ainsi que sur les options des expressions rationnelles PCRE est exhaustive ... c'est beaucoup de lecture, j'admet, mais c'est utile <{POST_SNAPBACK}> c'est rien de le dire, suis en train d'essayer d'emmagasiner. Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 24 Mai 2006 Partager Posté 24 Mai 2006 Sinon, juste pour info : j'ai pas mal de disques, de partitions, et de lecteurs de CD. Je peux donc sortir de ton schéma C, D ou E. De même, un utilisateur sous Mac ou Unix, n'auront pas la même architecture. A moins que tu ne le destines à un intranet (donc à un public bien défini, homogène), je te déconseille cette vérification. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ybet Posté 24 Mai 2006 Auteur Partager Posté 24 Mai 2006 Sinon, juste pour info : j'ai pas mal de disques, de partitions, et de lecteurs de CD.Je peux donc sortir de ton schéma C, D ou E. De même, un utilisateur sous Mac ou Unix, n'auront pas la même architecture. A moins que tu ne le destines à un intranet (donc à un public bien défini, homogène), je te déconseille cette vérification. <{POST_SNAPBACK}> Probablement raison .. mais il y a également une partie pour mon apprentissage. J'essaye ( j'ai dit essaye ) de créer une petite application de petites annonces en PHP. J'en profite pour apprendre un peu plus. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant