(PHP) Expression reguliere simple but noob...
Fermé
Defaite
-
1 avril 2007 à 13:37
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 3 avril 2007 à 12:55
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 3 avril 2007 à 12:55
A voir également:
- (PHP) Expression reguliere simple but noob...
- Iphone 14 simple - Guide
- Easy php - Télécharger - Divers Web & Internet
- Simple ocr - Télécharger - Bureautique
- Simple file locker - Télécharger - Sécurité
- Expression de recherche - Guide
3 réponses
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
3 avril 2007 à 12:06
3 avril 2007 à 12:06
mmmh je ne connais pas bien l'utilisation de ereg mais je pense qu'il doit falloir séparer correctement les chiffres du x (avec des parenthèses?)
je peux cependant ton conseiller une méthode un peu plus longue mais qui va marcher.
Avec un explode par exemple.
$var = $_POST['machin']; //sensé contenir ton format
$tab = explode("x",$var); // on sépare les 2 dimensions de ton format
$erreur=true;
if (count($tab)==2) { // si le format est bien composé de 2 parties
if (is_numeric($tab[0]) && is_numeric($tab[1])) { /* si les 2 parties sont bien numériques */
$erreur=false;
}
}
if (!$erreur) {
echo "C'est bon!!!";
}
en gros voila ce qui me vient à l'esprit.
je peux cependant ton conseiller une méthode un peu plus longue mais qui va marcher.
Avec un explode par exemple.
$var = $_POST['machin']; //sensé contenir ton format
$tab = explode("x",$var); // on sépare les 2 dimensions de ton format
$erreur=true;
if (count($tab)==2) { // si le format est bien composé de 2 parties
if (is_numeric($tab[0]) && is_numeric($tab[1])) { /* si les 2 parties sont bien numériques */
$erreur=false;
}
}
if (!$erreur) {
echo "C'est bon!!!";
}
en gros voila ce qui me vient à l'esprit.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
3 avril 2007 à 12:55
3 avril 2007 à 12:55
Bonjour,
L'expression rationnelle que tu recherches serait plutôt celle-ci :
if (ereg("^[0-9]+x[0-9]+$",$Lavariable))
Que l'on peut diviser en trois blocs :
^[0-9]+ : au début de la chaine, un ou plusieurs chiffres
x : au milieu de la chaine, la lettre x
[0-9]+$ : en fin de chaine, un ou plusieurs chiffres.
Ce que tu as écrit n'est pas du tout une expression rationnelle valide. En effet, les [] désignent un ensemble de caractères possibles, sans notion d'ordre, mais ne désigne qu'un seul caractère.
De plus, le ^ mis à l'intérieur de ces crochets signifie "tout sauf ce qui suit". Bref, ton expression rationnelle ne devait pas souvent être vérifiée !
L'expression rationnelle que tu recherches serait plutôt celle-ci :
if (ereg("^[0-9]+x[0-9]+$",$Lavariable))
Que l'on peut diviser en trois blocs :
^[0-9]+ : au début de la chaine, un ou plusieurs chiffres
x : au milieu de la chaine, la lettre x
[0-9]+$ : en fin de chaine, un ou plusieurs chiffres.
Ce que tu as écrit n'est pas du tout une expression rationnelle valide. En effet, les [] désignent un ensemble de caractères possibles, sans notion d'ordre, mais ne désigne qu'un seul caractère.
De plus, le ^ mis à l'intérieur de ces crochets signifie "tout sauf ce qui suit". Bref, ton expression rationnelle ne devait pas souvent être vérifiée !