Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Problema con función replace

Estas en el tema de Problema con función replace en el foro de Javascript en Foros del Web. Hola Amigos, Yo tengo una función como la siguiente: var frase="Descripción (saltoLinea) salto (saltoLinea) fin"; var frasemod=frase.replace("(saltoLinea)","<br />"); alert(frasemod); El alert me muestra: "Descripción <br ...
  #1 (permalink)  
Antiguo 05/03/2013, 10:30
 
Fecha de Ingreso: marzo-2013
Ubicación: España
Mensajes: 42
Antigüedad: 11 años, 9 meses
Puntos: 4
Problema con función replace

Hola Amigos,
Yo tengo una función como la siguiente:
var frase="Descripción (saltoLinea) salto (saltoLinea) fin";
var frasemod=frase.replace("(saltoLinea)","<br />");
alert(frasemod);

El alert me muestra:
"Descripción <br /> salto (saltoLinea) fin";

En vez de:
"Descripción <br /> salto <br /> fin";

Porque solo me remplaza un "(saltoLinea)" en vez de los dos.

Saludos
  #2 (permalink)  
Antiguo 05/03/2013, 10:41
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 14 años, 4 meses
Puntos: 14
Respuesta: Problema con función replace

Por que (si no me equivoco) dicha función te reemplaza la primera coincidencia de la cadena que buscas...tendrías que hacer algún tipo de bucle o algo en el cual si te encuentra dicha cadena lo recorra reemplazandolo y una vez reemplazados todos, se salga del bucle.

Podrías echarle un vistazo aquí


http://comosehaceenjavascript.blogsp...na-cadena.html

Si el .match te devuelve valores distintos a 0 realizas la función con el replace.

Lo mismo te puede servir ;)
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #3 (permalink)  
Antiguo 05/03/2013, 11:48
 
Fecha de Ingreso: marzo-2013
Ubicación: España
Mensajes: 42
Antigüedad: 11 años, 9 meses
Puntos: 4
Respuesta: Problema con función replace

Muchas Gracias amigo,
El problema era es que como tu dices, replace solo reemplaza la primera coincidencia.
Entonces lo que e hecho a sido esto:
Código Javascript:
Ver original
  1. var frase="Descripción (saltoLinea) salto (saltoLinea) fin";
  2. var frasemod=frase
  3. var i=0
  4. while (i<1)
  5.     {  
  6.         if (frasemod.indexOf("(saltoLinea)")!=-1)
  7.             {
  8.                 frasemod=frase.replace("(saltoLinea)","<br />");
  9.                 frase=frasemod;
  10.                         continue;
  11.                 }
  12.             i++
  13.        }

Luego mirare el enlace que me as enviado pues puede que sea mejor solución.
¡Saludos!

Etiquetas: replace
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 15:15.