Supprimer saut de ligne dans textarea

[Résolu/Fermé]
Signaler
Messages postés
36
Date d'inscription
mercredi 17 décembre 2008
Statut
Membre
Dernière intervention
9 novembre 2019
-
Messages postés
36
Date d'inscription
mercredi 17 décembre 2008
Statut
Membre
Dernière intervention
9 novembre 2019
-
Bonjour,
Il y a un truc qui m'échappe !
Soit un textarea $toto
Si je saisis dans $toto : "ligne1
ligne2
ligne3"

je souhaite récupérer la valeur de toto sous la forme "ligne1<br>ligne2<br>ligne3"
Or je récupère :
"ligne1
ligne2
ligne3"

Normal me dis-je, il suffit de remplacer les \n ou les \r par <br>
str_replace('\n','<br/>',htmlentities ($_POST['toto']
ben non, j'ai toujours la même chose

idem avec nl2br, j'obtiens :

"ligne1<br />
ligne2<br />
ligne3"
comment enlever ce saut de ligne ?
Merci pour votre aide
JF

3 réponses

Messages postés
36
Date d'inscription
mercredi 17 décembre 2008
Statut
Membre
Dernière intervention
9 novembre 2019
2
Merci pour ta réponse mais c'est toujours pas ça...
c'est ok à l'affichage, mais...
En fait, il faut que j'affecte $toto à une variable javascript.

var1:"<?php print nl2br($toto);?>

va me donner :
var1:"ligne1<br>
ligne2<br>
ligne3" ce qui provoque une erreur

il me faudrait : var1:"ligne1<br>ligne2<br>ligne3"
1
Merci

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

CCM 42674 internautes nous ont dit merci ce mois-ci

Utilisateur anonyme
il faut faire attention au retours à la ligne ils sont pas traités de la même façon:

essaie:


if(isset($_POST['toto'])){

$str=str_replace("\n","<br />",$_POST['toto']);
$str=str_replace("\r\n","<br />",$str);
$str=str_replace("\r","",$str);

echo"<script type='text/javascript'>

var str='$str';

alert(str);

</script>";


j'espère que ceci t'aide....

tout à fait il faut juste faire attention aux retours à la ligne ils ne sont pas exprimés de la même façon dans tout les systèmes \r\n pour windows et \n pour les systèmes unix.

je dirai que
htmlentities(nl2br($_POST['toto']),ENT_QUOTES);


marchera bien.
Messages postés
36
Date d'inscription
mercredi 17 décembre 2008
Statut
Membre
Dernière intervention
9 novembre 2019
2
En effet, il faut mettre double quote
str_replace("\n","<br />",$_POST['toto']);
et non
str_replace('\n','<br/>',$_POST['toto']);

Merci beaucoup pour ton aide !
JF