salut à tous
j'ai un petit soucis pour mettre en chaine le contenu d'un textarea.


je m'explique:
- j'ai une chaine du genre $string1="une chaine longue<br />qui passe à la ligne<br />etc...etc..." issue d'un textarea et enregistrer par echo dans un champs cacher d'un autre formulaire.

mon but est de modifier cette chaine pour avoir ceci:
- "une+chaine+longue***qui+passe+à+la+ligne***etc...etc..."

j'ai donc fait ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
// ma chaine de depart 
$string1 = "une chaine longue<br />qui passe à la ligne<br />etc...etc..."; 

// je remplace tout les <br /> par *** 
$string2 = str_replace('<br />', '***', $string1); 

// je remplace ensuite touts les espaces par des + 
$string3 = str_replace(' ', '+', $string2); 

// ici on affiche le resultat 
echo $string3;
le problème est que cela m'affiche une+chaine+longue*** qui+passe+à+la+ligne*** etc...etc..., et je n'arrive pas à faire en sorte qu'il n'y ai pas d'espace après ***

c'est donc sur $string2 qu'il y à un soucis et en plus l'espace laisser par erreur n'est pas remplacer par un + quand je definit $string3

j'ai aussi essayer de passer par la fonction strtr() comme suit mais j'ai le même problème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?php 
// enregistrement de $message par post depuis un textarea d'un autre formulaire vers le champ cacher suivant 
?> 
<input type="hidden" name="sms" value="<?php echo $message ?>" /> 
<?php 
$sms = nl2br($POST_['sms']); 
$tableau = array("<br />" => "***", " " => "+"); 
$message_final = strtr($message, $tableau);
pourquoi il perciste un espace après chaque *** remplacer
pourtant, strtr() ne tient pas compte de la difference de longueur des deux arguments...

si quelqu'un peut m'aider

merci d'avance.