Tester et remplacer une expression
Fermé
t671
Messages postés
1419
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
26 février 2024
-
10 déc. 2011 à 10:42
mimigenie Messages postés 1180 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 4 août 2018 - 11 déc. 2011 à 12:48
mimigenie Messages postés 1180 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 4 août 2018 - 11 déc. 2011 à 12:48
A voir également:
- Tester et remplacer une expression
- Rechercher et remplacer word - Guide
- Tester son pc - Guide
- Flash drive tester - Télécharger - Divers Utilitaires
- Remplacer disque dur par ssd - Guide
- Tester un lien - Guide
9 réponses
mimigenie
Messages postés
1180
Date d'inscription
dimanche 3 janvier 2010
Statut
Membre
Dernière intervention
4 août 2018
312
10 déc. 2011 à 10:49
10 déc. 2011 à 10:49
Ce que tu peux faire, c'est dans ton formulaire mettre une liste déroulante pour choisir le mois et attribuer les 3 lettres à chaque mois.
Ca donnerais un truc du genre :
<label for="mois">Mois</label>
<select name="mois" id="mois">
<option value="JAN">janvier</option>
<option value="FEV">février</option>
<option value="MAR">mars</option>
<option value="AVR">avril</option>
<option value="MAI">mai</option>
<option value="JUN">juin</option>
<option value="JUL">juillet</option>
</select>
ensuite tu récupères la valeur choisie et tu l'enregistre dans ta base de donnée.
Ca donnerais un truc du genre :
<label for="mois">Mois</label>
<select name="mois" id="mois">
<option value="JAN">janvier</option>
<option value="FEV">février</option>
<option value="MAR">mars</option>
<option value="AVR">avril</option>
<option value="MAI">mai</option>
<option value="JUN">juin</option>
<option value="JUL">juillet</option>
</select>
ensuite tu récupères la valeur choisie et tu l'enregistre dans ta base de donnée.
t671
Messages postés
1419
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
26 février 2024
11
Modifié par t671 le 10/12/2011 à 10:55
Modifié par t671 le 10/12/2011 à 10:55
Oui, j'y avait pensé !
Mais comme la saisie peut être différente (avant le 10 décembre, entre le 25 novembre et le 30 janvier,.......), pas faicile à mettre en place.
A moins de faire un zone de saisie, un choix de mois, une zone de saisie un choix de mois et encore une zone de saisie ..... Pas joli !
Mais comme la saisie peut être différente (avant le 10 décembre, entre le 25 novembre et le 30 janvier,.......), pas faicile à mettre en place.
A moins de faire un zone de saisie, un choix de mois, une zone de saisie un choix de mois et encore une zone de saisie ..... Pas joli !
mimigenie
Messages postés
1180
Date d'inscription
dimanche 3 janvier 2010
Statut
Membre
Dernière intervention
4 août 2018
312
Modifié par mimigenie le 10/12/2011 à 11:02
Modifié par mimigenie le 10/12/2011 à 11:02
Soit tu mets 3 listes de choix.
Soit tu utilises ca :
Tu récupères la valeur du champ mois puis en fonction du mois tu attribues une nouvelle valeur à la variable.
if ( $mois = 'janvier' )
{
$mois='JAN';
}
if ( $mois = 'fevrier' )
{
$mois='FEV';
}
Et ainsi de suite.
Il faut juste faire en sorte que les mois soit écrit de la même façon par les visiteurs.
Donc utiliser une fonction qui les mets en minuscule et sans accent.
Mais il faut aussi qu'ils écrivent les mois sans fautes de frappes sinon ca ne marchera pas :/
Les forum sont faits pour trouver des réponses mais les moteurs de recherche aussi.
Soit tu utilises ca :
Tu récupères la valeur du champ mois puis en fonction du mois tu attribues une nouvelle valeur à la variable.
if ( $mois = 'janvier' )
{
$mois='JAN';
}
if ( $mois = 'fevrier' )
{
$mois='FEV';
}
Et ainsi de suite.
Il faut juste faire en sorte que les mois soit écrit de la même façon par les visiteurs.
Donc utiliser une fonction qui les mets en minuscule et sans accent.
Mais il faut aussi qu'ils écrivent les mois sans fautes de frappes sinon ca ne marchera pas :/
Les forum sont faits pour trouver des réponses mais les moteurs de recherche aussi.
t671
Messages postés
1419
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
26 février 2024
11
10 déc. 2011 à 11:06
10 déc. 2011 à 11:06
Moi je voyais cela autrement :
Une zone de saisie unique.
Je récupère l'expression saisie.
Je teste si janvier février, fevrier, Fevrier ........... sont présent.
Si janvier, je remplace par JAN
Si février ou fevrier ou Février, je remplace par FEB
........... etc
Mais je sais pas avec quoi et comment l'écrire ..... :-(
Une zone de saisie unique.
Je récupère l'expression saisie.
Je teste si janvier février, fevrier, Fevrier ........... sont présent.
Si janvier, je remplace par JAN
Si février ou fevrier ou Février, je remplace par FEB
........... etc
Mais je sais pas avec quoi et comment l'écrire ..... :-(
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mimigenie
Messages postés
1180
Date d'inscription
dimanche 3 janvier 2010
Statut
Membre
Dernière intervention
4 août 2018
312
10 déc. 2011 à 11:16
10 déc. 2011 à 11:16
En cherchant sur le forum de ccm j'ai trouvé ca :
$date = $_POST['date'];
$date_explosee = explode("/", $date);
$jour = $date_explosee[0];
$mois = $date_explosee[1];
$annee = $date_explosee[2];
Ca récupère la date puis ca sépare la date en 3 partie mais pour ca il doit y avoir un séparateur entre chaque.
Dans ce cas ci c'est /
Peut-être en effacant le slash et en lancant un espace, ca marchera.
Si ca marche, tu mets ensuite le code que j'ai mis au-dessus qui en fonction de la valeur mois attribue une autre valeur.
Faut tester voir si ca marche.
$date = $_POST['date'];
$date_explosee = explode("/", $date);
$jour = $date_explosee[0];
$mois = $date_explosee[1];
$annee = $date_explosee[2];
Ca récupère la date puis ca sépare la date en 3 partie mais pour ca il doit y avoir un séparateur entre chaque.
Dans ce cas ci c'est /
Peut-être en effacant le slash et en lancant un espace, ca marchera.
Si ca marche, tu mets ensuite le code que j'ai mis au-dessus qui en fonction de la valeur mois attribue une autre valeur.
Faut tester voir si ca marche.
t671
Messages postés
1419
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
26 février 2024
11
10 déc. 2011 à 17:01
10 déc. 2011 à 17:01
C'est sympa mimigenie, mais ce n'est pas vraiment ce que j'essaye de faire.
Voilà où j'en suis :
Mais bien sur, ça na fonctionne pas ! Car $result ne me retourne pas une valeur, mais "Array" !!!!
Comment faire à partir de là ?
Voilà où j'en suis :
$trouve = array("jan", "fev", "fév", "mar", "avr", "mai", "juin", "juil", "aout", "août", "sep", "oct", "nov", "dec", "déc"); // un tableau contenant diverses expression possible pour le mois $result = strpos($date_naissance, $trouve); // Je cherche l'expression à remplacer dans ma phrase "$date_naissance" if $resut == "jan" { $resut = JAN; } elseif (($resut == "fev") OR ($resut == "fév") ...........
Mais bien sur, ça na fonctionne pas ! Car $result ne me retourne pas une valeur, mais "Array" !!!!
Comment faire à partir de là ?
mimigenie
Messages postés
1180
Date d'inscription
dimanche 3 janvier 2010
Statut
Membre
Dernière intervention
4 août 2018
312
10 déc. 2011 à 21:38
10 déc. 2011 à 21:38
Apparemment, le problème vient de l'array effectivement.
Essaye comme ca :
$trouve = array();
$trouve[1] = "jan";
$trouve[2] = "fev";
$trouve[3] = "fév";
$trouve[4] = "mar";
...
Dit moi ce que ca donne :)
Essaye comme ca :
$trouve = array();
$trouve[1] = "jan";
$trouve[2] = "fev";
$trouve[3] = "fév";
$trouve[4] = "mar";
...
Dit moi ce que ca donne :)
t671
Messages postés
1419
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
26 février 2024
11
11 déc. 2011 à 10:49
11 déc. 2011 à 10:49
Oui mais là c'est pareil. Je me retrouve avec plein de définition !
Tandis que si j'écris mon tableau ainsi :
il faudrait ensuite trouver la bonne exprerssion qui permet de lire la variable "$date_naissance", vérifier si dans cette variable je retrouve une expression du tableau !
Une fois trouvé le mot contenu dans la variable qui contient une expression du tableau, je remplace ce mot par ce que je veut !
Mais apparemment, ce n'est pas possible ............. :-(
Tandis que si j'écris mon tableau ainsi :
$trouve = array("jan", "fev", "fév", "mar", "avr", "mai", "juin", "juil", "aout", "août", "sep", "oct", "nov", "dec", "déc");
il faudrait ensuite trouver la bonne exprerssion qui permet de lire la variable "$date_naissance", vérifier si dans cette variable je retrouve une expression du tableau !
Une fois trouvé le mot contenu dans la variable qui contient une expression du tableau, je remplace ce mot par ce que je veut !
Mais apparemment, ce n'est pas possible ............. :-(
mimigenie
Messages postés
1180
Date d'inscription
dimanche 3 janvier 2010
Statut
Membre
Dernière intervention
4 août 2018
312
11 déc. 2011 à 11:25
11 déc. 2011 à 11:25
Pas forcément car la variable $trouve contient tout l'array quand même.
Est-ce que tu as essayé ce que je t'ai proposé ou pas ?
Si oui ca donne quoi.
Est-ce que tu as essayé ce que je t'ai proposé ou pas ?
Si oui ca donne quoi.
t671
Messages postés
1419
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
26 février 2024
11
11 déc. 2011 à 12:08
11 déc. 2011 à 12:08
Si je vais vers ta proposition :
que date_naissance = 01 janvier 1553, $result = 3 (?)
C'est pas très claire .............
Sinon, je laisse tomber cette solution, et je fais avec une liste de choix !
$trouve = array(); $trouve[1] = "jan"; $trouve[2] = "fev"; $trouve[3] = "fév"; $trouve[4] = "mar"; $result = strpos($date_naissance, $trouve[1]); // Je cherche l'expression à remplacer dans ma phrase "$date_naissance" echo $result;
que date_naissance = 01 janvier 1553, $result = 3 (?)
C'est pas très claire .............
Sinon, je laisse tomber cette solution, et je fais avec une liste de choix !
mimigenie
Messages postés
1180
Date d'inscription
dimanche 3 janvier 2010
Statut
Membre
Dernière intervention
4 août 2018
312
11 déc. 2011 à 12:48
11 déc. 2011 à 12:48
essaye en écrivant ($date_naissance, $trouve)