Foros del Web » Programando para Internet » Javascript »

Reemplazar saltos de línea

Estas en el tema de Reemplazar saltos de línea en el foro de Javascript en Foros del Web. Hola. Dentro de un formulario tengo un <textarea> donde pueden insertarse saltos de línea. Me gustaría traducir esos saltos de línea a <br> para poder ...
  #1 (permalink)  
Antiguo 19/08/2006, 11:45
 
Fecha de Ingreso: diciembre-2005
Mensajes: 26
Antigüedad: 18 años, 5 meses
Puntos: 0
Reemplazar saltos de línea

Hola.

Dentro de un formulario tengo un <textarea> donde pueden insertarse saltos de línea. Me gustaría traducir esos saltos de línea a <br> para poder visualizarse luego correctamente.

En javascript tengo el siguiente código para ello:

str=str.replace(/[\n]+/g,"<br>");

Con saltos de línea a final de párrafo funciona bien, pero con un salto de línea a final de párrafo seguido por otro salto de línea donde ésta está vacía no me lo traduce a un doble <br><br> (solo aparece uno).

Lo he intentado con \n, \r y con \n\r... y nada.

Puede alguien ayudarme... plis??
  #2 (permalink)  
Antiguo 21/08/2006, 04:30
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 5 meses
Puntos: 61
Yo lo hago de una forma un poco cutre:

str=str.split("\n").join("<br>");

Igual te sirve...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 21/08/2006, 11:40
 
Fecha de Ingreso: diciembre-2005
Mensajes: 26
Antigüedad: 18 años, 5 meses
Puntos: 0
Gracias KarlanKas por tu ayuda.

Para que en MSIE me salga bien tengo que poner:

str=str.split("\r\n").join("<br>");

El problema siempre me viene desde Mozilla/Firefox, donde una línea vacía con un INTRO no lo toma en cuenta. Es decir, un texto como "xxx\n\nxxx", en MSIE me lo traduce en "xxx<br><br>xxx" (correcto)... pero mi Firefox me lo traduce a "xxx<br>xxx" (le faltaría un <br>).

Ésto de las compatibilidades entre MSIE y Mozilla es para joderse
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:43.