Foros del Web » Programando para Internet » ASP Clásico »

Ayuda con replace

Estas en el tema de Ayuda con replace en el foro de ASP Clásico en Foros del Web. Tengo una variable, que guarda el path de una imagen (y su sintaxis HTML), pero sin especificar el dominio, así: var = "Blalblabla...<img src=path/imagen.gif>blaaaa" [1] ...
  #1 (permalink)  
Antiguo 25/08/2004, 14:20
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
Ayuda con replace

Tengo una variable, que guarda el path de una imagen (y su sintaxis HTML), pero sin especificar el dominio, así:
var = "Blalblabla...<img src=path/imagen.gif>blaaaa" [1]

Pero puede darse el caso de que la variable este así:
var = "blaaaaaaa<img src=""path/imagen.gif"">blaaaaaa" [2]

Y como esa variable (tomada de un recordset) la puedo "llamar" desde varias carpetas, me gustaría, mediante un replace, que al final, la variable quedase:
var = "blabla<img src=http://dominio.com/path/imagen.gif>blabla" [3]

He intentado hacer un replace dentro de otro, pero no arreglo nada. Quiero saber como demonios puedo convertir todos los <img src... que aparecen en lla variable en en la forma [3]

Es decir, añadir el "http://dominio.com" justo despues de todos los "src=", ya tengan o no comillas después.

Espero que se me entienda, un saludo.
__________________
Tu portal de manga y anime.
  #2 (permalink)  
Antiguo 25/08/2004, 16:15
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
No creo que se trate de un simple replace, tienes que parsear un poco tu cadena, aqui te dejo esta función, no la he probado pero con uno que otro cambio debería funcionar.

Código:
<%
Function AgregaDominio(cadena, caracter)
	Dim pos, cadena2, mi_dominio, cadena_dominio
	pos = instr(1, cadena, caracter) + 1
	cadena2 = mid(cadena, pos, len(cadena))
	mi_dominio = "http://www.midominio.com/"
	cadena_dominio = mid(cadena, 1, pos -1)
	cadena_dominio = cadena_dominio & mi_dominio & cadena2
	AgregaDominio = cadena_dominio
End Function

var = "Blalblabla...<img src=path/imagen.gif>blaaaa"
var = AgregaDominio(var, "=")
Response.Write var
%>
Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 05/09/2004, 12:00
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
Bueno, creí que había perdido el mensaje, pero no, por suerte. Funciona bien si:
var = "Blalblabla...<img src=path/imagen.gif>blaaaa"

Pero si:
var = "Blalblabla...<img src=""path/imagen.gif"">blaaaa"

Entonces, me muestra:
<img src=http://www.midominio.com/"path/imagen.gif">blaaa

¿¿Como puedo corregir para este caso también??

Además, si en la variable hay tablas, por ejemplo, me reemplaza todos los "=", y con eso no sirve. Eso lo solucionaría cambiando por src=, vale, pero lo de las dos comillas no se como hacerlo.
__________________
Tu portal de manga y anime.

Última edición por meru-kun; 05/09/2004 a las 12:22
  #4 (permalink)  
Antiguo 06/09/2004, 07:30
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Bueno, ahorita detectaste que no funciona si hay dos comillas, ¿y si hay tres, o cuatro o en lugar de comillas, van apostrofes?, etc, creo que entonces debes de implementar un pequeño "autómata" (aaahh, los tiempos de escuela), que recorra la cadena y vaya verificando que despues de cada "token" vaya otro que sea válido. Este autómata verificaría que despues de una comilla no puede ir otra comilla. En otras palabras necesitas recorrer la cadena y checar que sea válida.
  #5 (permalink)  
Antiguo 06/09/2004, 12:16
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 21 años, 6 meses
Puntos: 0
Voy a intentar ir por ahí, Myakire. Cuando tenga algo hecho, y me surjan los problemas (sic!), los pondré por aquí.
¡Gracias por el consejo!
__________________
Tu portal de manga y anime.
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 12:23.