如何将html文件中的相对路径转换为绝对路径,如果用正则表达式应该怎样写 ( 积分: 100 )

  • 主题发起人 主题发起人 wujingping
  • 开始时间 开始时间
W

wujingping

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将html文件中的相对路径转换为绝对路径,
比如说:网页是从http://www.sohu.com下载的,src="XXX/XXX.gif" 如何替换成src="http://www.sohu.com/XXX/XXX.gif"。“../../”这种路径怎么处理?
情况还是比较复杂的,如果用正则表达式应该怎样写?
 
如何将html文件中的相对路径转换为绝对路径,
比如说:网页是从http://www.sohu.com下载的,src="XXX/XXX.gif" 如何替换成src="http://www.sohu.com/XXX/XXX.gif"。“../../”这种路径怎么处理?
情况还是比较复杂的,如果用正则表达式应该怎样写?
 
为什么要绝对路径呢, 这不是在画蛇添足吗
 
因为我要将它转发到某个论坛上或Blog里面,现在还说不定,但是不管怎样相对路径都是不行的,因为就算保存到本地也会有这个问题呀!
 
直接相加就可以,多余处理没必要,正则表达式不好做
比方http://www.delphibbs.com//delphibbs/../delphibbs/dispq.asp?lid=3154448
等同http://www.delphibbs.com/delphibbs/dispq.asp?lid=3154448
../一般系统会自动处理,而分隔符/多一个也不是问题,问题就简单多了,两者间加一个/就万无一失了
 
又试了一下,两者之间要不要加分隔还是判断一下的好
好像//直接遇到..时会失败
那么先判断一下原绝对路径最后是否有/,没有再加上
 
function down(source,dest:string):boolean;
begin
try
result:=urldownloadtofile(nil,pchar(source),pchar(dest),0,nil)=0;
except
result:=false;
end;
end;

然后在按钮里

down('http://www.sohu.com/XXX/XXX.gif','c:/yy66.htm');
 
自己搞定了,直接查找替换
 
后退
顶部