我是新來的perl,但想知道是否有人知道一個腳本,類似於下面的PHP版本,這很好!如何從Perl中的相對URL中找到完整的URL?
private function resolve_href ($base, $href) {
if (!$href)
return $base;
$rel_parsed = parse_url($href);
if (array_key_exists('scheme', $rel_parsed))
return $href;
$base_parsed = parse_url("$base ");
if (!array_key_exists('path', $base_parsed))
$base_parsed = parse_url("$base/ ");
if ($href{0} === "/")
$path = $href;
else
$path = dirname($base_parsed['path']) . "/$href";
$path = preg_replace('~/\./~', '/', $path);
$parts = array();
foreach (explode('/', preg_replace('~/+~', '/', $path)) as $part) {
if ($part === "..")
array_pop($parts);
elseif ($part!="")
$parts[] = $part;
}
$dir = ((array_key_exists('scheme', $base_parsed)) ? $base_parsed['scheme'] . '://' . $base_parsed['host'] : "") . "/" . implode("/", $parts);
return str_replace("\/", '', $dir);
}
任何幫助深表感謝
正是這樣,我們都清楚這裏究竟是什麼功能呢?什麼是輸入,輸出是什麼? – CanSpice 2010-09-20 17:02:30
'$ base = http://foo.com/bar/poo/ $ href = ../ foobar' – 2010-09-20 17:20:08
一個PHP-> Perl轉換器,是公衆明智嗎? – vol7ron 2010-09-20 17:48:20