Aller au contenu

preg_match


ybet

Sujets conseillés

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

Posté (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é par ybet
Lien vers le commentaire
Partager sur d’autres sites

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

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

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 :whistling: ) 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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...