2010-02-08 6 views
8

J'ai une chaîne qui contient un chr (13) comme linebreak. Comment puis-je le remplacer par exemple. <br>? J'ai essayé mystring.replace("\n","<br>"); mais cela n'a pas fonctionnéjavascript: remplace le saut de ligne

Merci d'avance.

+0

Dupe: http://stackoverflow.com/questions/784313/read-line-break-in-a-string-with-javascript –

+0

Ne serait-il pas plus simple d'assigner le saut de ligne à une variable? –

Répondre

29

"\n" est chr (10). Je pense que vous voulez "\r":

mystring.replace("\r", "<br>"); 

Mise à jour: Pour remplacer ALL \ r utiliser une expression régulière:

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

Si vous voulez que cela fonctionne avec Windows, Unix et Mac les sauts de ligne de style utilisent ceci:

mystring.replace(/\r?\n|\r/g, "<br>"); 
+0

Oui, chr (13) est '\ r', pas '\ n'. –

+0

bonnes nouvelles - cela a fonctionné. mais malheureusement seulement pour le premier linebreak (il y en a plusieurs dans ma chaîne). des idées? – Fuxi

+0

vous devez utiliser le drapeau g dans une expression rationnelle comme dans ma réponse, et non seulement prendre en compte \ r mais \ n aussi – Mic

7
theString.replace(/\n|\r/g, '<br />') 
Questions connexes