Foros del Web » Programando para Internet » Javascript »

replace para remplazar codigo de html

Estas en el tema de replace para remplazar codigo de html en el foro de Javascript en Foros del Web. Hola a todos quería preguntaros si alguien me puede decir como se puede remplazar codigo dentro del body, por ejemplo, yo tengo esto: Código HTML: ...
  #1 (permalink)  
Antiguo 09/04/2011, 06:07
Avatar de Dani_1270  
Fecha de Ingreso: noviembre-2009
Ubicación: España
Mensajes: 51
Antigüedad: 14 años, 3 meses
Puntos: 1
replace para remplazar codigo de html

Hola a todos
quería preguntaros si alguien me puede decir como se puede remplazar codigo dentro del body, por ejemplo, yo tengo esto:

Código HTML:
<html>
...
<body>

imagen http://images.example.com/imagen.jpg

</body>
...
</html> 
ese "imagen http://..." me lo introduce el php, y quería hacer algo asi:

Código:
<script>
document.replace(/http://images/g, "\<img src='http://images");
document.replace(/.jpg/g, ".jpg' \/>");
// He puesto document antes de replace por poner algo, realmente 
// nose como hacerlo, es lo que os quiero preguntar
</script>
Alguien me puede explicar como tendría que hacer el script para que me remplace eso que pido arriba pero en todo el documento?

Última edición por Dani_1270; 09/04/2011 a las 06:17
  #2 (permalink)  
Antiguo 09/04/2011, 06:21
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 9 meses
Puntos: 1012
Respuesta: replace para remplazar codigo de html

usa document.body.innerHTML
  #3 (permalink)  
Antiguo 09/04/2011, 06:44
Avatar de Dani_1270  
Fecha de Ingreso: noviembre-2009
Ubicación: España
Mensajes: 51
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: replace para remplazar codigo de html

Lo he intentado así:

Código:
<script>
document.body.innerHTML.replace(/http://images/g, "\<img src='http://images");
document.body.innerHTML.replace(/.jpg/g, ".jpg' \/>");
</script>
Pero sigue sin funcionarme! :(
¿Estoy haciendo algo mal?
  #4 (permalink)  
Antiguo 09/04/2011, 06:50
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 9 meses
Puntos: 1012
Respuesta: replace para remplazar codigo de html

fíjate en lo que te he marcado
Cita:
document.body.innerHTML.replace(/http:\/\/images(.+)\.jpg/g, '<img src="http:\/\/images$1\.jpg" \/>');
  #5 (permalink)  
Antiguo 09/04/2011, 07:05
Avatar de Dani_1270  
Fecha de Ingreso: noviembre-2009
Ubicación: España
Mensajes: 51
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: replace para remplazar codigo de html

Lo he intentado pero no funciona (porque el javascript siempre se me resistira )

He colgado un ejemplo de lo que he hecho:

http://www.karballo.net/ejemplo.html

pero nada, no quiere ir...

Última edición por Dani_1270; 09/04/2011 a las 07:06 Razón: hipervinculo
  #6 (permalink)  
Antiguo 09/04/2011, 07:30
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 14 años, 10 meses
Puntos: 1485
Respuesta: replace para remplazar codigo de html

buenas,

tal como sospechaba! cuando tu operas con string, los cambios no se hacen directamente sobre el string, sino que se crea un nuevo string. en este caso, el metodo replace devuelve un string modificado pero no altera el string de origen. tienes que asignar ese resultado al origen para poder ver algun cambio.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 09/04/2011, 07:53
Avatar de Dani_1270  
Fecha de Ingreso: noviembre-2009
Ubicación: España
Mensajes: 51
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: replace para remplazar codigo de html

¿Pero entonces no hay ninguna forma de hacer en javascript que se remplace ese texto?
  #8 (permalink)  
Antiguo 09/04/2011, 08:04
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 9 meses
Puntos: 310
Respuesta: replace para remplazar codigo de html

Creo que no entendiste lo que te dijo @ZK. innerHTML es una propiedad de los elementos HTML, que setea el contenido interno de los elementos. Pero si no le asignas ningún valor, sigue igual. Fíjate en este ejemplo:
Código Javascript:
Ver original
  1. var texto = 'Esto es un texto de prueba';
  2. alert(texto.substr(0, 7)); // 'Esto es', texto -> 'Esto es un texto de prueba'
  3. alert(texto = texto.substr(0, 7)); // 'Esto es', texto -> 'Esto es'
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #9 (permalink)  
Antiguo 09/04/2011, 09:24
Avatar de Dani_1270  
Fecha de Ingreso: noviembre-2009
Ubicación: España
Mensajes: 51
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: replace para remplazar codigo de html

Es verdad, lo probé asi:

Código HTML:
<div id="dx">
imagen http://imgserver.karballo.net/2039/cd-0918325678/imgejemplo.jpg
</div> 
Código:
dx = document.getElementById("dx").innerHTML;
dx = dx.substring(7,70);
document.getElementById("dx").innerHTML="\<img src="+dx+" \/>";
Pero aunque funciona, con substring tengo k saber el caracter con el que empieza y con el que termina, y las urls de las imagenes no son todas de la misma longitud...
Una pena que replace no funcione como yo quiero...
  #10 (permalink)  
Antiguo 09/04/2011, 13:52
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 9 meses
Puntos: 1012
Respuesta: replace para remplazar codigo de html

por qué dices que no funciona replace como tú quieres??
Cita:
function fnc() {
var str = document.body.innerHTML;
str = str.replace(/http:\/\/imgserver(.+)\.jpg/g, '<img src="http:\/\/imgserver$1\.jpg" \/>');
document.body.innerHTML = str;
}

window.onload = function() {fnc();};
  #11 (permalink)  
Antiguo 09/04/2011, 15:23
Avatar de Dani_1270  
Fecha de Ingreso: noviembre-2009
Ubicación: España
Mensajes: 51
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: replace para remplazar codigo de html

Flipante o.O media tarde rompiendome la cabeza para conseguir eso, y lo que tenía que haber hecho era meterlo en una funcion y que se ejecutara al acabar de cargar? o.O

Muchiiisimas gracias IsaBelM !! =D
  #12 (permalink)  
Antiguo 09/04/2011, 15:32
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 14 años, 10 meses
Puntos: 1485
Respuesta: replace para remplazar codigo de html

no, fijate en la siguiente linea. era cuestion de asignar el texto modificado a la misma propiedad.
Código:
document.body.innerHTML = str
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #13 (permalink)  
Antiguo 09/04/2011, 16:21
Avatar de Dani_1270  
Fecha de Ingreso: noviembre-2009
Ubicación: España
Mensajes: 51
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: replace para remplazar codigo de html

yaa, siempre me salen mal las cosas de javascript por cosas de ese tipo, haber si me empoyo bien el manual de javascript xD

Etiquetas: html, remplazar, 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 02:16.