Je suis nouveau à perl mais je me demandais si quelqu'un connaissait un script qui était similaire à la version suivante de PHP qui fonctionne très bien!Comment puis-je trouver l'URL complète d'une URL relative en Perl?
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);
}
Toute aide est très appréciée
Juste pour que nous sommes tous clairement ici, qu'est-ce exactement que fonctionnent-ils? Quelle est l'entrée, quelle est la sortie? – CanSpice
'$ base = http://foo.com/bar/poo/ $ href = ../ foobar' –
wow un convertisseur PHP-> Perl, le public devient-il sage? – vol7ron