【发布时间】:2011-07-18 16:04:15
【问题描述】:
我一直在研究蜘蛛算法,但在链接方面遇到了一些问题。
工作原理示例:
从 -> example.com/bob/index.php?page=funny+faces 获取内容
内容是:
<html>
<a href="../jack/index.php"> link 1 </a>
<a href="/bob_more_info"> link 2 </a>
<a href="http://www.youtube.com"> link 3 </a>
</html>
通过获取链接功能传递内容
链接函数返回
[0] = ../jack/index.php
[1] = /bob_more_info
[2] = http://www.youtube.com
现在我需要通过我在哪个页面上获得这些链接的网址(example.com/bob/index.php?page=funny+faces)
所以
[0] -> ../jack/index.php 进入 example.com/jack/index.php
[1] -> /bob_more_info 进入 example.com/bob/bob_more_info
[2] -> http://www.youtube.com
我要的是一个可以进行转换的函数。这是我的,但它并不总是有效并且正在成为一种痛苦。如果您可以编辑它或给我写一个函数,将不胜感激。提前致谢。
这是我目前的功能:
//example:
//$newURL = URLfix("example.com/bob/index.php?page=funny+faces", "../jack/index.php");
function URLfix ($url, $ext)
{
if(is_valid_url($url."/"))
{
$url .= "/";
}
$ar1 = explode("/", $url);
if(count($ar1) == 1)
{
return $url."/".$ext;
}
$target = $ar1[count($ar1) - 1];
if($target == "")
{
return $url.$ext;
}
if(strpos(" ".$target, "."))
{
$cur = "";
for($i = 0; $i < count($ar1) - 1; $i ++)
{
$cur .= $ar1[$i];
$cur .= "/";
}
return $cur.$ext;
}
return $url."/".$ext;
}
【问题讨论】:
-
基本上我需要把本地链接变成全局链接所以
-
没问题,你不是第一个遇到这个问题的人,请看下面我的回答。