Foros del Web » Programando para Internet » Javascript »

Replace

Estas en el tema de Replace en el foro de Javascript en Foros del Web. Tengo una variable de texarea (texto) que al pasarla en javascript me salen los espacios el signo +. ¿¿¿Como puedo transformar ese +, en un ...
  #1 (permalink)  
Antiguo 15/09/2005, 15:54
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 37
Antigüedad: 19 años, 3 meses
Puntos: 1
Replace

Tengo una variable de texarea (texto) que al pasarla en javascript me salen los espacios el signo +. ¿¿¿Como puedo transformar ese +, en un simple espacio vacio???

He probado con :

var texto = (unescape(texto));
texto = texto.replace(/+/g,' ');

pero no me sale.

¿alguna sugerencia?

Mil gracias !

Cita:

var texto = (unescape(texto));
texto = texto.replace(/+/g,' ');
ventana.document.write('<html><head><meta http-equiv="ImageToolbar" content="no"><title>' + titulo + '</title></head><body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" scroll="no" onUnload="opener.cont=0">' + texto + '<img src="' + cual + '" onLoad="opener.redimensionar(this.width, this.height)">')

  #2 (permalink)  
Antiguo 15/09/2005, 19:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Otra posibilidad...

texto.split("+").join(" ");

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 16/09/2005, 01:27
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 37
Antigüedad: 19 años, 3 meses
Puntos: 1
replace / split

sigue sin funcionar
he puesto:

var texto = (unescape(texto));
texto.split("+").join(" ");

pero los + que hacían de unión para pasar la variable texto a la pantalla emergente, no desaparece.

¿alguna otra sugerencia?
  #4 (permalink)  
Antiguo 16/09/2005, 01:39
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola Deckard28

Usando expresiones regulares el signo + significa repetir una o más veces, por eso no te funciona. Tienes que ponerle delante una barra invertida:

texto = texto.replace(/\+/g,' ');

Espero que te sirva. Saludos,
  #5 (permalink)  
Antiguo 16/09/2005, 01:48
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 37
Antigüedad: 19 años, 3 meses
Puntos: 1
De acuerdo Solucionado!

Sí, señor !

efectivamente, al poner:

texto = texto.replace(/\+/g,' ');

ya me funciona. De esta manera interpreta el + como una parte del texto, y no como una función que hace de unión de las palabras de la variable de texto.
  #6 (permalink)  
Antiguo 16/09/2005, 02:12
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Una pregunta,

Cita:
Tengo una variable de texarea (texto) que al pasarla en javascript me salen los espacios el signo +. ¿¿¿Como puedo transformar ese +, en un simple espacio vacio???
Por qué te lo está pasando con los + ? No es normal que al pasar un valor escrito en un textarea lo envíe así

var texto = (unescape(texto));

¿de dónde sale originalmente texto?
  #7 (permalink)  
Antiguo 16/09/2005, 02:28
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 37
Antigüedad: 19 años, 3 meses
Puntos: 1
La variable se origina a partir de un codigo php que llama a un campo de una base de datos.

<a href='#' onClick=\"nombredefuncion1('".$row['mapa']."','".$row['nombre']."','".nl2br(urlencode($row['texto'']))."');return false\">


Este código php, a su vez, llama a la funcion javascript, para que abra un popup, donde pueda escribir la variable texto, que es precisamente un texto muy amplio. La única manera de pasar esta variable a javascript es :

urlencode($row['texto']).

De esta manera me pasa todo el texto unido con los +.
Por eso luego, en la funcion de javascript hago:

var texto = (unescape(texto));
texto = texto.replace(/\+/g,' ');

para "descodificar" la variable, y luego convertir los + en espacios vacios.
  #8 (permalink)  
Antiguo 16/09/2005, 02:40
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Ah, ahora lo entiendo, es que no entendía cómo llegaba codificado para url el texto. Yá veo que usas el urlencode.

Gracias por la explicación


....por cierto que me es familiar ese código para abrir la ventana

Un saludo
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 23:26.