我得到一個鏈接,並在它有一個HREF ...我想知道如果它是一個我怎麼能知道,如果它是一個絕對的域名用PHP
http://[...].com/file.txt absolute domain name
或
/file.txt
沒有完整網址的鏈接。
我該怎麼用PHP做到這一點?
我得到一個鏈接,並在它有一個HREF ...我想知道如果它是一個我怎麼能知道,如果它是一個絕對的域名用PHP
http://[...].com/file.txt absolute domain name
或
/file.txt
沒有完整網址的鏈接。
我該怎麼用PHP做到這一點?
使用parse_url
並查看您是否得到方案和主機。例如,這樣的:
$url = 'http://username:[email protected]/path?arg=value#anchor';
$parts = parse_url($url);
echo $url, "\n", $parts['scheme'], "\n", $parts['host'], "\n\n";
$url = '/path?arg=value#anchor';
$parts = parse_url($url);
echo $url, "\n", $parts['scheme'], "\n", $parts['host'], "\n\n";
產地:
http://username:[email protected]/path?arg=value#anchor
http
hostname
/path?arg=value#anchor
活生生的例子:http://ideone.com/S9WR2
這也可以讓你檢查計劃,看它是否是你想要的東西(例如,你會經常要忽略mailto:
網址)。
您可以使用preg_match
和正則表達式來測試url字符串的格式。您需要根據需要修改$myurl
,可能將其作爲變量傳入。
<?php
$myurl = "http://asdf.com/file.txt"; // change this to meet your needs
if (preg_match("/^http:/", $myurl)) {
// code to handle
echo 'http url';
}
else if (preg_match("/^\\//", $myurl)) {
// code to handle
echo 'slash url';
}
else {
// unexpected format
echo 'unexpected url';
}
?>
我們其中一個人回答你的問題?你沒有接受任何答案? –