8796 sujets

Développement web côté serveur, CMS

Bonjour!

C'est pour convertir des chiffres dans un code généré par md5 en lettre comme ceci :

$text = md5('truc');
echo $text;
ce qui donnera :
45723a2af3788c4ff17f8d1114760e62

mais si je veux remplacer les chiffres par des lettres comme ceci à partir de la lettre F
1 devient H
2 devient J
3 devient K
etc...
en gardant mes 32 caractères et de façon à n'avoir que des lettre dans mes 32 caractères.

Comment peut-on faire avec une expression régulière?


De l'aide est aprpécié, merci.
Modifié par dan4 (14 Sep 2010 - 09:15)
Modérateur
Ça lu,

les RegEx, c'est bien, mais il y a des fonctions plus rapide et plus adaptées à certaines applications.

Regarde strtr(). Aussi, il y a une librairie PEAR qui permet de traduire les nombres en lettre (ex : 1 en un, 2 en deux, etc.).

Bonne journée
Merci de m'avoir mis sur la piste,

J'ai adapté ce code là :

<?php>

$string = '098f6bcd4621d373cade4e832627b4f6';

function normaliza($string) {
    $a = '1234567890';
    $b = 'hjlnprtvyz';
    $string = utf8_decode($string);    
    $string = strtr($string, utf8_decode($a), $b);
    $string = strtolower($string);
    return utf8_encode($string); 
}

echo normaliza($string);

?>


ça donne ceci :
zyvfrbcdnrjhdltlcadenevljrjtbnfr
qui était avant:
098f6bcd4621d373cade4e832627b4f6

Smiley smile

niuxe a écrit :
Ça lu,

les RegEx, c'est bien, mais il y a des fonctions plus rapide et plus adaptées à certaines applications.

Regarde strtr(). Aussi, il y a une librairie PEAR qui permet de traduire les nombres en lettre (ex : 1 en un, 2 en deux, etc.).

Bonne journée