91 votes

JavaScript remplace \ n avec <br />

 var messagetoSend = $.trim(document.getElementById("msgText").value);
messagetoSend = messagetoSend.replace("\n", "<br />");
alert(messagetoSend);
 

Compte tenu de l'entrée:

 Line 1


Line 2




Line 3
 

Cette alerte:

 Line 1<br />


Line 2




Line 3
 

Quand j'attends d'alerter:

 Line 1<br /><br /><br />Line 2<br /><br /><br /><br /><br />Line 3
 

187voto

mplungjan Points 36458

Vous devez le / g pour la correspondance globale

replace(/\n/g, "<br />");

Ça marche pour moi

 <textarea id="x">
Line 1


Line 2




Line 3
</textarea>
<script>
var messagetoSend = document.getElementById('x').value.replace(/\n/g, "<br />");
alert(messagetoSend);
</script>
 

MISE À JOUR

Il semble que certains visiteurs de cette question ont un texte avec les lignes de séparation échappé comme

du texte \ r \ n sur plusieurs lignes "

Dans ce cas, vous devez échapper aux barres obliques:

replace(/\\r\\n/g, "<br />");

94voto

WSkinner Points 461

Traite les deux types de saut de ligne

 str.replace(new RegExp('\r?\n','g'), '<br />');
 

9voto

jAndy Points 93076

Utilisez une expression régulière pour .replace() .:

 messagetoSend = messagetoSend.replace(/\n/g, "<br />");
 

Si ces sauts de ligne ont été générés par l'encodage Windows, vous devrez également remplacer les carriage return .

 messagetoSend = messagetoSend.replace(/\r\n/g, "<br />");
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X