Foros del Web » Programando para Internet » Javascript »

Textarea y replace de \n

Estas en el tema de Textarea y replace de \n en el foro de Javascript en Foros del Web. Bueno estoy intentando hacer un minieditor con un textarea y estaba intentando reemplazar los saltos de linea \n por <br> el problema está en que ...
  #1 (permalink)  
Antiguo 09/01/2005, 12:31
 
Fecha de Ingreso: octubre-2004
Mensajes: 751
Antigüedad: 19 años, 6 meses
Puntos: 4
Textarea y replace de \n

Bueno estoy intentando hacer un minieditor con un textarea y estaba intentando reemplazar los saltos de linea \n por <br> el problema está en que cuando hago un replace("\n",""<br>) me cambia bien el primer salto de linea pero no los siguientes.
Si pongo:
Primera linea,
segunda linea
y tercera linea.

Me acaba saliendo
Primera linea,
segunda linea y tercera linea.

Espero haber sido claro y que alguien pueda decirme que es lo que puede pasar.
Saludos,
__________________
sergiold
  #2 (permalink)  
Antiguo 09/01/2005, 12:51
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Hola, prueba con esta función:

Código HTML:
 <html>
 <head>
 <script>
 function nl2br(str){
   str=str.replace(/\n/gi,"<br />");
   return str;
 }
 function reformat(){
 	/*....*/
 	document.dummy.area.value=nl2br(document.dummy.area.value);
 	/*....*/
 }
 </script>
 </head>
 <body>
 <form name="dummy" id="dummy">
 <textarea name="area" id="area" rows="10" cols="50"></textarea><br />
 <input type="button" name="nl2br" id="nl2br" onclick="reformat()" value="nl2br" />
 </form>
 </body>
 </html> 
Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 09/01/2005, 14:11
 
Fecha de Ingreso: octubre-2004
Mensajes: 751
Antigüedad: 19 años, 6 meses
Puntos: 4
Ya está solucionado... Pero, ¿Por qué?

Muchisimas gracias!
Con tu script he podido deducir de que en vez de

contenido = contenido.replace("\n","<br>")

era

contenido = contenido.replace(/\n/gi,"<br>")

¿Alguien sabría decirme el porque de este cambio? Nose lo digo por aprender para otra vez... ¿porque se le quitan las comillas i se le pone el gi?
Sin el gi no me funcionaba pero con él sí... Así que debe ser importante...
Alguien sabe un poco la "teoria" de todo esto?¿
De todas formas muchas gracias porque ya lo he podido solucionar.
Muchos saludos a todos,
__________________
sergiold
  #4 (permalink)  
Antiguo 09/01/2005, 14:28
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Hola, la función que te envié trabaja con expresiones regulares, todo lo que está dentro de / / es el patrón de búsqueda, el parámetro g indica que la expresión regular es global, en tu caso (y también si no se pone g) el funcionamiento es el siguiente: busca la primera coincidencia y luego se detiene, es por eso que sólo reemplazaba una vez.
Ahora, el parámetro i en este script no tiene ninguna relevancia, ya que se usa para que no haya diferencia entre mayúsculas y minúsculas.


Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #5 (permalink)  
Antiguo 09/01/2005, 14:59
 
Fecha de Ingreso: octubre-2004
Mensajes: 751
Antigüedad: 19 años, 6 meses
Puntos: 4
De nuevo muchas gracias!
Me has solucinado un buen problema que tenia! jeje
Muchos saludos,
__________________
sergiold
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 01:55.