元素我有下面的代碼: -PHP擺脫鏈接
$link = 'http://www.domain.com/go.php?id=545&url=http://www.example.com/about
我想URL元素就是 - http://www.example.com/about
元素我有下面的代碼: -PHP擺脫鏈接
$link = 'http://www.domain.com/go.php?id=545&url=http://www.example.com/about
我想URL元素就是 - http://www.example.com/about
$link = 'http://www.domain.com/go.php?id=545&url=http://www.example.com/about';
$url = explode("&url=", $link)[1];
echo $url; //http://www.example.com/about
當'url'不是最後一個查詢字符串參數 – billyonecan
試試這個:
$link = 'http://www.domain.com/go.php?id=545&url=http://www.example.com/about';
$uri=explode("url=",$link);
$uri=$uri[count($uri)-1];
echo $uri;
你可以使用PHP內置的parse_url
和parse_str
函數納秒。
$link = 'http://www.domain.com/go.php?id=545&url=http://www.example.com/about';
parse_str(parse_url($link,PHP_URL_QUERY),$url);
echo $url['url'];
時,這將無法正常工作,這將返回整個查詢字符串,因此需要額外解析 – billyonecan
@billyonecan很好捕獲。我應該測試它。 –
function getSomething($url) {
if (!(strpos($url, 'url=') !== false)) return false;
$parse = explode('url=', $url);
$code = $parse[1];
return $code;
}
echo getSomething("http://www.domain.com/go.php?id=545&url=http://www.example.com/about");
即使網址放在別的地方作爲參數
$link = 'http://www.domain.com/go.php?id=545&url=http://www.example.com/about';
$url = "";
$params = explode("&", $link);
for($params as $param){
if(substr($param, 0, 4) === 'url='){
$url = explode("=", $param)[1];
break;
}
}
echo $url; //http://www.example.com/about
我建議你URLEncode的查詢字符串參數,這將工作?這樣你可以使用['parse_str'](http://php.net/manual/en/function.parse-str.php),但是當你沒有一個有效的URL時,它可能不起作用。 – apokryfos