Page 1 sur 1

srt_replace() => help !

Posté : 02 avr. 2005, 18:31
par wizardman
Bonjour tout le monde,
javascript peut encoder une chaîne avec unescape() en décimal je croit.

J'ai décider de coder un petit programme permettant de convertir de décimal au bon vieux français :P

Voici mon code :
<?php
$a = $_POST['mot'];
$b = array("%03","%04","%05","%07","%13","%14","%15","%16","%17","%23","%24","%25","%26","%27","%33","%34","%35","%36","%37","%43","%44","%45","%46","%47","%53","%54","%55","%56","%57","%63","%64","%65","%66","%67","%73","%74","%75","%76","%77","%83","%84","%85","%86","%87","%93","%94","%95","%96","%97","%A2","%A4","%A5","%A6","%A7","%B2","%B4","%B6","%C2","%C6","%D2","%D4","%D6","%E2","%E4","%E6","%F2","%F4","%F5","%F6");
$c = array("0","@","P","p","2","B","R","b","r","3","C","S","c","s","4","D","T","d","t","5","E","U","e","u","6","F","V","f","v","7","G","W","g","w","8","H","X","h","x","9","I","Y","i","Y","*","J","Z","j","z","+","K","k","L","l","-","M","m",".","N","n","/","O","_","o");
$new = str_replace($c, $b, $a);
echo $new;
?>
Problème, il ne décode pas bien (il renvoit toujour les décimaux sans changements).

Quelqu'un pourrait-il m'aider (j'ai galérer pour recopier tous les decimaux et leur équivalent en français :P) ?

Merci :wink:

Posté : 03 avr. 2005, 14:35
par Invité
Je ne pense pas que tu puisse mettre un array dans str_replace.
Essai ceci :

Code : Tout sélectionner

<?php $a = $_POST['mot']; $b = array("%03","%04","%05","%07","%13","%14","%15","%16","%17","%23","%24","%25","%26","%27","%33","%34","%35","%36","%37","%43","%44","%45","%46","%47","%53","%54","%55","%56","%57","%63","%64","%65","%66","%67","%73","%74","%75","%76","%77","%83","%84","%85","%86","%87","%93","%94","%95","%96","%97","%A2","%A4","%A5","%A6","%A7","%B2","%B4","%B6","%C2","%C6","%D2","%D4","%D6","%E2","%E4","%E6","%F2","%F4","%F5","%F6"); $c = array("0","@","P","p","2","B","R","b","r","3","C","S","c","s","4","D","T","d","t","5","E","U","e","u","6","F","V","f","v","7","G","W","g","w","8","H","X","h","x","9","I","Y","i","Y","*","J","Z","j","z","+","K","k","L","l","-","M","m",".","N","n","/","O","_","o"); $nbr = count($b) ; $d = 0 ; while ($d <= $nbr ) { $new = str_replace($c[$d], $b[d], $a); $d++; } echo "$new";
Ca devrait marche :?

Posté : 03 avr. 2005, 14:36
par Alexl!nK
Dans le while, le deuxième argument, j'ai oublié $ ( pas d seul ) :? .

Posté : 03 avr. 2005, 18:08
par Invité
Non en fait j'ai juste mis
str_replace($c, $b, $a)
au lieu de
str_replace($b, $c, $a)
Merci quand même :)

Posté : 03 avr. 2005, 18:09
par Alexl!nK
Ben apparemment un array marche aussi :)