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:
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 ***
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;
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:
pourquoi il perciste un espace après chaque *** remplacer
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);
pourtant, strtr() ne tient pas compte de la difference de longueur des deux arguments...
si quelqu'un peut m'aider
merci d'avance.
Partager