Foros del Web » Creando para Internet » Diseño web »

Cambiar Enlaces de Forma Masiva

Estas en el tema de Cambiar Enlaces de Forma Masiva en el foro de Diseño web en Foros del Web. muy buenas a Todos me esta surgiendo un "problemilla", tengo un sitio web montado en un w2003 con iis, y me han dicho que lo ...
  #1 (permalink)  
Antiguo 03/09/2010, 10:10
 
Fecha de Ingreso: septiembre-2010
Mensajes: 3
Antigüedad: 7 años, 3 meses
Puntos: 0
Cambiar Enlaces de Forma Masiva

muy buenas a Todos

me esta surgiendo un "problemilla", tengo un sitio web montado en un w2003 con iis, y me han dicho que lo tenemos que migrar a solaris y que no podremos tener los nombres de ficheros con espacios en blanco ( y unos cuantos si que tengo con nombres con espacios en blanco)

asi que por ejemplo, he de renombrar el fichero "pagina de inicio.htm" por "pagina_de_inicio.htm"

lo de renombrar los ficheros para sustituir el espacio en blanco " " por un guion bajo "_" parece que lo tengo resuelto utilizando por ejemplo el Lupas Renamer

pero claro, el problema lo tengo para reconstruir los href de los enlaces, los src de las imagenes, etc....

conoceis alguna aplicacion que permita realizar el cambio masivo de los enlaces a los ficheros, para que sustituya esos espacios en blanco por guiones bajos en los enlaces. porque la unica aplicacion que conozco que modifica el contenido de ficheros y sustituya un texto por otro (textcrawler) lo hace con todas las ocurrencias, no he conseguido que solo se centre en los enlaces y las imagenes...

un saludo y muchas gracias
  #2 (permalink)  
Antiguo 03/09/2010, 10:47
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 10 años, 5 meses
Puntos: 1567
Respuesta: Cambiar Enlaces de Forma Masiva

malba:


Seguramente debe de haber otros, pero yo en particular utilizo
Ultraedit (http://www.ultraedit.com/downloads/u..._download.html), he trabajado con hasta 30 archivos por ves sin problemas

Podés hacer cambios masivos en múltiples documentos abiertos. y la función reemplazar además permite utilizar expresiones regulares,

saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 13/09/2010, 04:44
 
Fecha de Ingreso: septiembre-2010
Mensajes: 3
Antigüedad: 7 años, 3 meses
Puntos: 0
Respuesta: Cambiar Enlaces de Forma Masiva

muy buenas emprear

muchas gracias, pero lo que busco es hacer el cambio de forma automatica sin tener que editar las paginas, que son muchisimas...

seguire buscando....

un saludo
  #4 (permalink)  
Antiguo 13/09/2010, 14:26
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 10 años, 5 meses
Puntos: 1567
Respuesta: Cambiar Enlaces de Forma Masiva

malba:

No sé si esto te sirva pero te lo paso por las dudas.
Yo generalmente trabajo sobre Apache, que incluye un modúlo para hacer redirecciones: ModRewrite

Por lo que vi, en IIS puede implementarse algo parecido. que trabaja casi igual, se llama ISAPI Rewrite u algo así

Explicarlo es algo complicado, así que te dejo una demo en
http://modrewrite.emprear.com/

utiliza el archivo reemplazar_espacios_en_blanco.php para verificar (visualizá el código fuente del mismo para comprobar que en los vinculos use espacios en blanco
basicamente las reglas etán definidas en el archivo de configuración de Apache .htaccess

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^(.*)\s(.*).html$ /$1_$2.html [L]
RewriteRule ^(.*)\s(.*)\s(.*).html$ /$1_$2_$3.html [L]
RewriteRule ^(.*)\s(.*)\s(.*)\s(.*).html$ /$1_$2_$3_$4.html [L]
RewriteRule ^(.*)\s(.*)\s(.*)\s(.*)\s(.*).html$ /$1_$2_$3_$4_$5.html [L]


Tendrías que agregarle mas reglas si tus archivos tuviesen más de cinco palabras (excluyendo la extension).
Probablemente se pueda optimizar, pero así, funciona, mirá la demo

saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 16/09/2010, 05:30
 
Fecha de Ingreso: septiembre-2010
Mensajes: 3
Antigüedad: 7 años, 3 meses
Puntos: 0
Respuesta: Cambiar Enlaces de Forma Masiva

muy buenas a todos

emprear, gracias por tu respuesta, me la apunto para probarla en un futuro

al final estoy consiguiendo renombrar los ficheros y actualizando los enlaces relacionados

para el que le pueda servir....

estoy renombrando los ficheros con el programa Lupas Rename


y la actualizacion de los links de las paginas, al final la he conseguido mediante el TextCrawler

el TextCrawler, permite busquedas mediante expresiones regulares, haces la busqueda de una expresion regular y realizas la sustitucion mediante otra

BUSCAR…….. href="([^"]*?) ([^"]*?)"
SUSTITUIR…. href="$1_$2"

y la busqueda-sustitucion la ejecuto tantas veces como sea necesarias, ya que con esta instruccion solo me sustituye el primer espacio en blanco que encuentra, si hubiera mas espacios en blanco, vuelvo a ejecutar la busqueda-sustitucion hasta que ya no encuentra nada

mas o menos, la interpretacion de las expresiones regulares viene a ser la siguiente

La expresión (href="([^"]*?) ([^"]*?)"), quiere decir algo asi:

-Localiza el literal href=”
-Seguido de cualquier cadena de caracteres (*), o no (?), que no sean comillas dobles ([^”])
-Seguido de un espacio en blanco
-Seguido de cualquier otra cadena de caracteres (*), o no (?), que no sean comillas dobles ([^”])
-Acabando en Comillas Dobles

Y la expresión (href="$1_$2"), quiere decir que todo lo encontrado en la búsqueda se sustituirá por

- El literal href=”
- El primer conjunto de caracteres encontrado ($1), (hasta el espacio en blanco)
- Un guion bajo (_), aquí es donde se sustituye el espacio en blanco por el guion bajo
- El segundo conjunto de caracteres encontrado ($2)
- Unas comillas dobles



eso es todo, un saludo y muchas gracias

Etiquetas: enlaces, masiva, formulario
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 21:00.