J'essaie de remplacer une chaîne mais ça fonctionne comme une boucle
$especiais = ["b", "c", "k", "g", "j", "d", "f", "a", "e", "m", "i", "y", "h", "l", "p", "q", "n", "x", "o", "r", "z", "u", "v", "w", "s", "t"]; $certo = ["pn", "veh", "veh", "ged", "ged", "gal", "or", "un", "graph", "tal", "gon", "gon", "na", "ur", "mals", "ger", "drux", "pal", "med", "don", "ceph", "van", "van", "van", "fam", "gisg"]; $resultado = str_replace($especiais, $certo, $phrase);
Exemple de code renvoie : OL renvoie medvanandon
Le résultat exact dont j'ai besoin est OL revient MEDUR
J'ai besoin que chaque lettre soit remplacée exactement par la lettre correspondante, mais dans ce code, le remplacement est répété plusieurs fois.
Il y a un avis dans la documentation
str_replace()
PHP qui dit :Je recommande plutôt d'utiliser
strtr()
, qui permet de passer un tableau "de remplacement" au format (de => à), comme dans l'exemple suivant :Cela vous donnera le résultat que vous attendez, comme indiqué ci-dessous :
Démo : https://tehplayground.com/5YSxPYZfreiPTz9K