2009-04-24 16 views

risposta

21
var newString=oldString.replace(/\n/g,"<br />"); 
+2

-1: Se v'è più di un'interruzione di linea, questo fallirà. In Javascript, devi usare/pattern/g. – eyelidlessness

+2

è stato risolto dal :) –

5

+1 per Clicca risposta di Upvote. Vorrei solo sottolineare che usando questo stile di definizione delle stringhe, avrai un mucchio di spazi bianchi extra. Facendo una semplice sostituzione della nuova linea sarà effettivamente dare questa stringa:

"This is man.<br />  Man like dog." 

La soluzione di base è quella di cambiare il vostro sostituire la funzione:

newString = oldString.replace(/\n\s*/g, "<br />"); 

O ancora meglio (secondo me), definire le stringhe come questo :

var a = "This is man.\n" 
     + "Man like dog." 
; 

significa che è ancora possibile ottenere piacevole rientro, senza il supplemento di spese generali viene aggiunto nelle vostre variabili, più, permette di aggiungere commenti facilmente:

var a = "This is man.\n" // this is the first line. 
     + "Man like dog." // and woo a comment here too 
; 
+0

Vedere il mio commento sulla risposta di Click Upvote. – eyelidlessness

+2

@Fare clic, upvote +1 al tuo commento che si upvoted +1 perché upvoted +1 la tua risposta. – nickf

+0

Questo è divertente !!!! 1' – nickf

10

essere completo: Ho incontrato casi in cui '\ n' non ha funzionato, in quei casi ho usato:

someString.replace(/\n/g,'<br />') 
      .replace(/\r/g,'<br />') 
      .replace(/\r\n/g,'<br />'); 
+6

str.replace .Rimontare (/ \ n/g, '
') (/ \ r \ n/g,'
'?); Per evitare la conversione di \ r \ n per

eyelidlessness

+1

@eyelidlessness (deve essere ingombrante, eyelidlessness): va bene, cerchiamo di stabilirsi su someString.replace | allora (/ \ n \ r \ n/g, '
'?). – KooiInc

Problemi correlati