2009-04-24 31 views

Respuesta

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

-1: Si hay más de un salto de línea, esto fallará En Javascript, debes usar/pattern/g. – eyelidlessness

+2

se ha solucionado desde :) –

5

+1 para Haga clic en la respuesta de Upvote. Solo señalaría que usando ese estilo de definición de cadenas, tendrás un montón de espacio en blanco adicional allí. Haciendo un reemplazo simple de la nueva línea en realidad le dará esta cadena:

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

La solución básica es cambiar su función de reemplazar:

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

O incluso mejor (en mi humilde opinión), definir sus cadenas como esta :

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

Esto significa que todavía puede obtener buena sangría sin la sobrecarga adicional que se añade a las variables, además, que le permite añadir fácilmente comentarios:

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

Ver mi comentario encendido Haga clic en la respuesta de Upvote. – eyelidlessness

+2

@click, upvote +1 a su comentario de que votó +1 porque elevé +1 a su respuesta. – nickf

+0

¡ESTO ES DIVERTIDO! 1' – nickf

10

ser completa: me he encontrado casos en los que '\ n' no funcionó, en aquellos casos en que utilicé:

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

str.replace (/ \ r \ n?/G, '
') .replace (/ \ n/g, '
'); Para evitar la conversión de \ r \ n para

eyelidlessness

+1

@eyelidlessness (debe ser engorroso, eyelidlessness): bien, vamos a resolver en someString.replace | entonces (/ \ n \ r \ n/g, '
'?). – KooiInc