Petit soucis de Regex

Répondre
Keika
Keika
Déconnecté
Le PHP --> C'est dur !
Salut,

j'essaye de faire un petit code qui reconnait un code hexadecimal pour les couleurs web.
Pour le moment j'ai ca:

  1. <?php
  2.    $color = $_GET['color'] ; 
  3.    $hexa_pattern = "(#?([A-Fa-f0-9]){6}?)" ; 
  4.  
  5.    //Check if color is a color...
  6.    if(preg_match($hexa_pattern, $color, $matches)){  
  7. ?>
  8.  


Alors tant que le bon code est envoya ca marche, mais le truc c'est que ca accepte aussi des strings genre: 000000000000, parcequ'apparament le preg_match cherche un modele dans le string envoye. Alors que je veux qu'il n'accepte que des strings de 6 characteres et que ces 6 characteres obeissent a la regex.

Faut-il que je teste aussi la taille de ma string ou y a-t'il une autre solution ?

Merci d'avance

K.
i M@N
i M@N
Déconnecté
One Love, One Heart, One Unity.
Hello.

Je verrai plus un pattern comme :
  1. <?php
  2. $hexa_pattern = "(^(#{1})([A-Fa-f0-9]{6})$)" ;  
  3. ?> 

Explication rapide :
^(#{1}) = commence (^) par 1 #
([A-Fa-f0-9]{6})$ = se termine ($) par 6 caractères dans A-Fa-f0-9

@+...
Keika
Keika
Déconnecté
Le PHP --> C'est dur !
Mais iM@N, si je passe "12121#2222222211"

ca me retournera tout de meme true, car preg_match trouvera le pattern "#222222" dedans...
i M@N
i M@N
Déconnecté
One Love, One Heart, One Unity.
reuh...
Je sais pas comment tu fais ou si tu dis ça parce que t'as pas essayé, mais si tu mets ça dans un fichier test.php ça fonctionne :
  1. <?php
  2. $color = '12121#2222222211';  
  3. $hexa_pattern = "(^(#{1})([A-Fa-f0-9]{6})$)" ;  
  4. //Check if color is a color...
  5. if(preg_match($hexa_pattern, $color)){  
  6. echo 'OK';  
  7. }  
  8. else {  
  9. echo 'KO';  
  10. }  
  11. ?> 


@+...
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Keika, non car iman a bien utilisé ^ en début de masque et $ en fin de masque.
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique