Supression d'un tag <br>

Petit nouveau ! | 7 Messages

23 juin 2006, 23:26

Bonjour,
J'ai donc un formulaire avec un champ texte sur une page web qui retourne ca en mode POST sur mon traitement.php. Le problème est le suivant: le texte qui est saisie dans le champ texte est sous forme:

Code : Tout sélectionner

Je fais<BR> un test <BR> voila le <BR> résultat <BR>
Mon problème est que j'ai de temps en temps un <BR> qui peut arriver en fin et qui me crée un espace qui me pose des problèmes sur la mise en page. Avez vous une idée de comment supprimer ce <BR> en trop et uniquement celui-là? Je vous remercie pour vos futures réponses

Eléphant du PHP | 332 Messages

24 juin 2006, 09:15

Tu regardes les 4 derniers caractères de ta chaîne (fonction substr) et s'ils sont égaux à <BR>, tu extraits les n-4 premiers caractères de ta chaîne (fonction substr).

Ou sinon, tu utilises une fonction à expression régulière (ereg_replace ou preg_replace) qui permet de tester et remplacer les caractères <BR> en fin de chaîne. Mais là, je laisse les spécialistes de ces fonctions t'expliquer.

Eléphant du PHP | 66 Messages

24 juin 2006, 09:51

Bonjour
il ya la fonction str_replace() aussi
syntaxe:
$chaine="Bznjzur Mznde";
$resultat=str_replace("z","o",$chaine);
echo $resultat; //il va nous affichier Bonjour Monde
dans ton cas:
supposons que ta variable passé en POST s'apelle "message"
echo str_replace("<br>","",$_POST["mesage"]);
Mess With Best or die With the Rest

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

24 juin 2006, 12:45

Dans son cas la fonction str_replace ne convient pas, il veut juste remplacer le dernier <br> sans toucher aux autres. ereg_replace() est mieux adapté puisque l'on peut dans l'expression régulière spécifier que l'on recherche une chaine à la fin :
ereg_replace ( "<br>$", "", $str ); // le $ représente la fin de la chaine

Invité
Invité n'ayant pas de compte PHPfrance

24 juin 2006, 15:31

Ryle: Merci ca marche très bien il me supprime bien que le <br> de fin.

Merci à Henri et nejme.eddinne pour m'avoir aussi répondu.