PHP将相对路径URL转换为绝对路径URL
来源:互联网 发布:喜欢老司机 知乎 编辑:程序博客网 时间:2024/05/22 10:51
在采集程序或者蜘蛛程序中经常会遇到一类问题,就是将网页中相对路径形式的URL转换为绝对路径形式的URL。例如在http://www.msphome.cn/blog/1/这个页面中,有一个URL链接为../index.php,那么我们要将它转换为http://www.msphome.cn/blog/index.php。下面给出了解决这类问题的代码。该程序能够成功处理各种URL,将其变成绝对形式。
<?php$a = 'http://www.abc.com/a/index.html';$b = '../abc/a.js';echo format_url($b, $a);function format_url($srcurl, $baseurl) { $srcinfo = parse_url($srcurl); if(isset($srcinfo['scheme'])) { return $srcurl; } $baseinfo = parse_url($baseurl); $url = $baseinfo['scheme'].'://'.$baseinfo['host']; if(substr($srcinfo['path'], 0, 1) == '/') { $path = $srcinfo['path']; }else{ $path = dirname($baseinfo['path']).'/'.$srcinfo['path']; } $rst = array(); $path_array = explode('/', $path); if(!$path_array[0]) { $rst[] = ''; } foreach ($path_array AS $key => $dir) { if ($dir == '..') { if (end($rst) == '..') { $rst[] = '..'; }elseif(!array_pop($rst)) { $rst[] = '..'; } }elseif($dir && $dir != '.') { $rst[] = $dir; } } if(!end($path_array)) { $rst[] = ''; } $url .= implode('/', $rst); return str_replace('\\', '/', $url);}?>
- PHP将相对路径URL转换为绝对路径URL
- C# url 路径转换 相对路径 转换为 绝对路径
- C# URL中的http链接进行分析,将相对路径转换为绝对路径 源代码
- C# 将绝对路径转换为相对路径
- URL相对路径转绝对路径
- URL相对路径转绝对路径
- asp.net服务器绝对路径转换成URL相对路径
- java URL相对路径转换成绝对路径
- 如何将相对URL 转换为绝对URL
- 相对路径转换为绝对路径
- 绝对路径转换为相对路径
- 使用 JavaScript 将相对路径转换为绝对路径
- 关于绝对路径、相对路径和URL
- Web中的URL:绝对路径和相对路径
- java URL根据相对路径获取绝对路径
- JS中的URL 相对路径 绝对路径
- URL地址相对路径转绝对路径
- 本地路径没有转换为URL相对路径
- poj3439 A Simple Problem with Integers 延迟更新的线段树
- 嵌入式操作系统内核原理和开发(等值block内存池设计)
- 写在腾讯大讲堂演讲之后
- Mina工具类v1.5
- 一个新的开源DUI界面库:DuiEngine
- PHP将相对路径URL转换为绝对路径URL
- 看个片也难
- pthread线程使用小结
- 祝自己生日快乐
- linux如何挂载U盘
- Tomcat启动后无法访问localhost的问题(LINUX)
- LIB和DLL的区别与使用(静态链接库与动态链接库的区别)
- Android 编程实用代码大全
- 线程池 范例