欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

根据当前页面url进行地址补全(采集用)

程序员文章站 2022-05-23 11:20:59
...
根据当前页面url进行地址补全(采集用)
function formaturl($url, $str){
if (is_array($str)) {
$return = array();
foreach ($str as $href) {
$return[] = formaturl($url, $href);
}
return $return;
} else {
if (stripos($str, 'http://')===0 || stripos($str, 'ftp://')===0) {
return $str;
}
$str = str_replace('\\', '/', $str);
$parseUrl = parse_url(dirname($url).'/');
$scheme = isset($parseUrl['scheme']) ? $parseUrl['scheme'] : 'http';
$host = $parseUrl['host'];
$path = isset($parseUrl['path']) ? $parseUrl['path'] : '';
$port = isset($parseUrl['port']) ? $parseUrl['port'] : '';

if (strpos($str, '/')===0) {
return $scheme.'://'.$host.$str;
} else {
$part = explode('/', $path);
array_shift($part);
$count = substr_count($str, '../');
if ($count>0) {
for ($i=0; $i array_pop($part);
}
}
$path = implode('/', $part);
$str = str_replace(array('../','./'), '', $str);
$path = $path=='' ? '/' : '/'.trim($path,'/').'/';
return $scheme.'://'.$host.$path.$str;
}
}

}

AD:真正免费,域名+虚机+企业邮箱=0元