Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2242 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème preg_replace() et chiffres, numéros

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème preg_replace() et chiffres, numéros

n°903005
Masenko
Posté le 19-11-2004 à 18:25:55  profilanswer
 

J'ai un probleme avec une fonction qui va remplacer des chiffres en des mots.
 
Je vais faire un exemple simple avec 3 chiffres qui sont "1", "2", "12"
 
"1" sera remplacé par "un"
"2" sera remplacé par "deux"
"12" sera remplacé par "douze"
 
Pour 1 et 2 ça fonctionne très bien.
Le problème c'est que pour 12 ça ne va pas m'afficher "douze" mais "undeux"
 
Donc je vous montre le code si vous pouviez m'aider ce serait sympa :)
 

Code :
  1. $num = array (
  2. '/1/',
  3. '/2/',
  4. '/12/'
  5. );
  6. $choix = array (
  7. 'un',
  8. 'deux',
  9. 'douze'
  10. );
  11. return(preg_replace($num,$choix,"12" ));


 
Voilà merci d'avance :)
Et on m'a aussi dit que str_replace étais pas mal mais je ne sais pas ce qui est le mieux. Pour info je dois traiter environ 15000 chiffres.
Merci ;p
 
 

mood
Publicité
Posté le 19-11-2004 à 18:25:55  profilanswer
 

n°903007
sielfried
Posté le 19-11-2004 à 18:28:49  profilanswer
 

Pourquoi ne pas faire un tableau du genre :
$en_lettres[1] = 'un';
$en_lettres[2] = 'deux';
etc.
 
?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°903011
Masenko
Posté le 19-11-2004 à 18:32:26  profilanswer
 

Parce que j'ai automatisé le tout pour un affichage de masse dans une tonne de section et que ma solution est plus adapté.

n°903043
Masenko
Posté le 19-11-2004 à 19:01:59  profilanswer
 

Quelqun svp ?

n°903045
masklinn
í dag viðrar vel til loftárása
Posté le 19-11-2004 à 19:04:30  profilanswer
 

t'as songé à mettre le 12 en première position? (genre devant le 1) [:petrus75]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°903051
Masenko
Posté le 19-11-2004 à 19:10:58  profilanswer
 

y a plus de 1500 lignes de numéros :)

n°903052
masklinn
í dag viðrar vel til loftárása
Posté le 19-11-2004 à 19:15:40  profilanswer
 

masenko a écrit :

y a plus de 1500 lignes de numéros :)


et alors?
[:antp]
 
http://www.wackyweaselworld.com/flameINC/images/MISC38.jpg


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°903053
sielfried
Posté le 19-11-2004 à 19:21:29  profilanswer
 

masenko a écrit :

Parce que j'ai automatisé le tout pour un affichage de masse dans une tonne de section et que ma solution est plus adapté.


 
Dans ce cas, je propose :
 

Code :
  1. $num = array_reverse($num);
  2. $choix = array_reverse($choix);
  3. return preg_replace($num, $choix, '12');


Message édité par sielfried le 19-11-2004 à 19:21:39

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°903054
Masenko
Posté le 19-11-2004 à 19:21:53  profilanswer
 

Bah alors...
150 = 1 15 150
120 = 1 12 20
1300 = 1 13
 
enfin j en passes des milliers la
 
http://www.wackyweaselworld.com/flameINC/images/MISC38.jpg

n°903056
Masenko
Posté le 19-11-2004 à 19:24:03  profilanswer
 

Bon j'ai trouvé une sorte de solution mais c'est pas le top.
Si vous avez une solution pour que ça remplace l'entier et non tout ce qui passe je suis toujours la bye Biii

mood
Publicité
Posté le 19-11-2004 à 19:24:03  profilanswer
 

n°903057
masklinn
í dag viðrar vel til loftárása
Posté le 19-11-2004 à 19:24:20  profilanswer
 

masenko a écrit :

Bah alors...
150 = 1 15 150
120 = 1 12 20
1300 = 1 13
 
enfin j en passes des milliers la


http://www.wackyweaselworld.com/flameINC/images/MISC13.gif
 
Regarde donc le post au dessus du tien


Message édité par masklinn le 19-11-2004 à 19:28:22

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°903058
sielfried
Posté le 19-11-2004 à 19:25:52  profilanswer
 

C'est quoi le problème avec ma solution ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°903060
Masenko
Posté le 19-11-2004 à 19:31:32  profilanswer
 

Nan je répondais a Maslin.
Sinon que j'inverse ou pas c'est la même chose car j'ai pas que 3 chiffres moi j'avais raccourci expres pour simplifier.

n°903062
masklinn
í dag viðrar vel til loftárása
Posté le 19-11-2004 à 19:34:20  profilanswer
 

masenko a écrit :

Nan je répondais a Maslin.
Sinon que j'inverse ou pas c'est la même chose car j'ai pas que 3 chiffres moi j'avais raccourci expres pour simplifier.


 [:mlc]  
t'as essayé au moins?
 
Putain je parie que tu comprends même pas pourquoi ca merde ton truc initial [:jagstang]
 
edit: et c'est Masklinn, pas maslin [:loom the gloom]


Message édité par masklinn le 19-11-2004 à 19:41:40

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°903065
sielfried
Posté le 19-11-2004 à 19:39:32  profilanswer
 

masenko a écrit :


Sinon que j'inverse ou pas c'est la même chose car j'ai pas que 3 chiffres moi


 
Et alors ? Tant que les plus gros sont au dessus, ils seront interprétés avant.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème preg_replace() et chiffres, numéros

 

Sujets relatifs
Probleme d'URL REWRITINGProbleme de gestion de la souris...
probleme comparaison de variableCompiler du C sous OSX - probleme -
Problème de "put"Problème javabeans : jar impossible à lancer dans la beanbox
Probleme de bouttonprobleme de transfert ftp
probleme avec innerHTML et mozillaprobleme de requete[resolu]
Plus de sujets relatifs à : Problème preg_replace() et chiffres, numéros


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR