Page 1 sur 1

Remplcer les chiffres par les lettres

Posté : 31 janv. 2012, 06:05
par rimie
Bonjour,

Je voudrais remplacer mes chiffres par des lettres, mais il y a une confusion:
$chif = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
$let = array('un', 'deux', 'trois', 'quatre', 'cinq', 'six', 'sept', 'huit', 'neuf', 'dix');

$phrase = 'j ai 10 livres';
echo str_replace($chif, $let, $phrase); // resultat: j ai unzero livre
comment puis je resoudre ce probleme?

merci

Re: Remplcer les chiffres par les lettres

Posté : 31 janv. 2012, 06:20
par Calimero
Bonjour,

Je voudrais remplacer mes chiffres par des lettres, mais il y a une confusion:
$chif = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
$let = array('un', 'deux', 'trois', 'quatre', 'cinq', 'six', 'sept', 'huit', 'neuf', 'dix');

$phrase = 'j ai 10 livres';
echo str_replace($chif, $let, $phrase); // resultat: j ai unzero livre
comment puis je resoudre ce probleme?

merci
Simple, inverse l'ordre de tes tableaux de remplacement :)

Ou bien laisse php le faire pour toi : http://fr.php.net/array_reverse

Re: Remplacer les chiffres par les lettres

Posté : 31 janv. 2012, 12:37
par sirakawa
et si la phrase est "si 100 scient 100 cigares, 606 scies scieront 606 c igares" ?

Traiter le cas particulier proposé risque fort de conduire à découvrir que cette solution ne fonctionne pas dans d'autres cas...
Une solution passerait sûrement par une réflexion sur le cas général de conversion de nombres en textes, avec une intégration correcte des accords et des traits d'union. Ça doit traîner partout sur internet...

Re: Remplcer les chiffres par les lettres

Posté : 31 janv. 2012, 12:53
par moogli

Re: Remplcer les chiffres par les lettres

Posté : 31 janv. 2012, 12:59
par rimie
donc c'est quoi la bonne solution?

Re: Remplcer les chiffres par les lettres

Posté : 31 janv. 2012, 13:10
par Shenryu
Salut,

Il y a une contribution sur ce sujet : vos-contributions/conversion-nombres-le ... 60825.html

Ça devrait te donner une réponse ;)

Re: Remplcer les chiffres par les lettres

Posté : 31 janv. 2012, 13:17
par moogli
Celle que tu aura testé et validé à ta convenance !

On peut faire tout ton taf. Tu a testé la limite du str_replace toi même, il te reste à tester les autres. Cela dépend de ton CdC et on ne peut le savoir mieux que toi ;)

@+

Re: Remplcer les chiffres par les lettres

Posté : 31 janv. 2012, 14:18
par sirakawa
à part que intl ne fait pas le travail demandé.
Il reste la contribution sur NUTS qui semble très puissant

Re: Remplcer les chiffres par les lettres

Posté : 01 févr. 2012, 06:22
par rimie
j'ai termine par inverser: 10, 9, ... et dix, neuf,..

merci