Php, remplacer chaine de caractère [Résolu/Fermé]

Signaler
-
 Julien -
Bonjour,

J'ai pas mal cherché sur les forums et dans les fonctions sur php.net mais n'ayant rien trouvé de concluant je m'adresse a vous.

J'ai une chaine de caractère qui vient d'un formulaire.
J'aimerai remplacer chaque lettre de ma chaine de caractère par plusieurs caractères.

Par exemple sur le mot : test
Je veux remplacer la lette "t" par "LETTRE_T_"; remplacer la lettre "e" par "LETTRE_E_" etc
Ce qui me donnerai a la fin ceci, le mot test serai remplacé par : LETTRE_T_LETTRE_E_LETTRE_S_LETTRE_T_

Voilà, j'ai trouvé des fonctions permettant de remplacer un caractère par un autre mais pas par plusieurs autre ce que je cherche à faire.

Merci de vos réponses
Cordialement

3 réponses

Messages postés
1274
Date d'inscription
samedi 30 août 2008
Statut
Membre
Dernière intervention
21 juin 2015
827
Pourquoi str_replace ne te convient pas ? (http://fr3.php.net/manual/fr/function.str-replace.php)

$chaine = str_replace('t', "LETTRE_T_", $chaine);

Tu peux mettre te faire une array de lettre a b c d ... et une autre array de remplacement correspondant LETTRE_A_, LETTRE_B_, LETTRE_C_, LETTRE_D_ ...

Au pire, si ce n'est que pour ajouter "LETTRE_" devant et "_" derrière tu peux faire une while où tu concatènes.

$sortie = "";
for($i = 0 ; $i < strlen($chaine); $i++)
{
$sortie .= "LETTRE_".$chaine[$i]."_";
}
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
89
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
14 janvier 2010
4
Il faut utiliser les Les expressions régulières
Merci bizu53 ca marche

Ce que je comprends pas c'est que quand j'ai teste str_replace la 1ere fois, ça ne marchait pas, elle me remplaçait justement qu'un seul caractère.