Foros del Web » Programando para Internet » Javascript »

Función str_replace() para JavaScript

Estas en el tema de Función str_replace() para JavaScript en el foro de Javascript en Foros del Web. Hola amigos, Hace unos días tuve una dificultad, necesitaba usar algo parecido a la función str_replace() de PHP. Después de buscar y buscar e investigar ...
  #1 (permalink)  
Antiguo 15/09/2006, 09:58
Avatar de mape367  
Fecha de Ingreso: noviembre-2004
Ubicación: CDE, Paraguay
Mensajes: 213
Antigüedad: 19 años, 5 meses
Puntos: 3
Función str_replace() para JavaScript

Hola amigos,

Hace unos días tuve una dificultad, necesitaba usar algo parecido a la función str_replace() de PHP.

Después de buscar y buscar e investigar sobre eso, encontre informaciones sobre el funcionamiento de las expresiones regulares.

Me puse a trabajar, aqui les dejo la función str_replace() para javascript.

Espero les sea de utilidad.

Código:
<script language="javascript">
// Función str_replace() para JavaScript //
// str_replace(string busca, string reenplazar, string original) //
function str_replace(busca, repla, orig)
{
	str 	= new String(orig);

	rExp	= "/"+busca+"/g";
	rExp	= eval(rExp);
	newS	= String(repla);

	str = new String(str.replace(rExp, newS));

	return str;
}
</script>
Talvéz el codigo no sea el más optimo, pero funciona, ustedes pueden mejorarlo!

Saludos
  #2 (permalink)  
Antiguo 15/09/2006, 10:13
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
Hola mape367

Pues se agradece mucho la intención aunque javascript ya tiene su equivalente a str_replace() que es replace() y funciona igual con regexp y sin ellas.

Código:
cadena = "la casa es azul";
cadena = cadena.replace(/azul/, "roja")
alert(cadena)
Se pueden usar igual los modificadores para todas las que se encuentren en la cadena (g) y para ignorar mayúsculas y minúsculas (i)

cadena = cadena.replace(/azul/g, "roja")
cadena = cadena.replace(/azul/i, "roja")
cadena = cadena.replace(/azul/gi, "roja")

Un saludo
  #3 (permalink)  
Antiguo 15/09/2006, 10:16
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
aps, me pareció que la habías encontrado por ahí, ahora que te releo veo que la has hecho tú sorry.

Pero ... ¿qué se gana imitando la forma de funcionar de str_replace() si existe un método que realiza la misma acción sólo que usando la sintaxis de javascript?
  #4 (permalink)  
Antiguo 23/05/2011, 18:31
Avatar de frangeris_29  
Fecha de Ingreso: abril-2011
Mensajes: 15
Antigüedad: 13 años, 1 mes
Puntos: 1
Exclamación Respuesta: Función str_replace() para JavaScript

@tunait, el ejemplo que pones falla cuando en la cadena donde quieres reemplazar existe lo que quieres reemplazar mas de una vez..

Ejemplo: en esto quiero reemplazar " " (espacio) por "-" (guion)

Utilizando tu forma y pasandole esto como cadena: "Este es el ejemplo que funciona"

cadena = cadena.replace(/ /i, "-");

Da como resultado:

Este-es%20el%20ejemplo%20que%20funciona

Como vez, solo reemplaza la primera vez que aparece el " " (espacio)

Lo recomendable para que te trabaje en la cadena completa es usar esta forma:

cadena = cadena.split(" ").join("-");

que da como resultado:

Este-es-el-ejemplo-que-funciona

Espero que sirva!!!!! =)
  #5 (permalink)  
Antiguo 23/05/2011, 18:37
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años
Puntos: 343
Respuesta: Función str_replace() para JavaScript

Código Javascript:
Ver original
  1. "Este es el ejemplo que funciona".replace(/\s/gi, '-');
  2. // "Este-es-el-ejemplo-que-funciona"

--------------

En cuanto a la función posteada por el op:

Código Javascript:
Ver original
  1. str_replace('$13.00', '***GRATIS***', 'Son $13.00').toString() // "Son $13.00"

Necesitas escapar los caracteres que se usan como comodines en las RegExp.
__________________
blog | @aijoona

Última edición por Aijoona; 23/05/2011 a las 18:58
  #6 (permalink)  
Antiguo 24/05/2011, 00:55
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Función str_replace() para JavaScript

Cerramos el mensaje porque es de hace 5 años.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 15:23.