Php, remplacer chaine de caractère

Résolu/Fermé
Julien - 18 févr. 2009 à 19:16
 Julien - 18 févr. 2009 à 19:34
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
A voir également:

3 réponses

bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 859
18 févr. 2009 à 19:26
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
el plaga Messages postés 89 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 14 janvier 2010 4
18 févr. 2009 à 19:20
Il faut utiliser les Les expressions régulières
0
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.
0