我有此URL:如何只獲取一段網址? (PHP)
example.com/?do=search&q=testing+this+out
我需要後& q到部分存儲=在變量中。
什麼PHP函數將是最好的做到這一點,爆炸,切片?
P.S.我使用$request_url = $_SERVER['REQUEST_URI'];
來獲取URI。
我有此URL:如何只獲取一段網址? (PHP)
example.com/?do=search&q=testing+this+out
我需要後& q到部分存儲=在變量中。
什麼PHP函數將是最好的做到這一點,爆炸,切片?
P.S.我使用$request_url = $_SERVER['REQUEST_URI'];
來獲取URI。
如果你只需要q的值,你可以簡單的寫:
$value = $_GET['q'];
我認爲OP有一個字符串包含url並且想要分解,而不是當前正在執行的腳本的實際URL。 – 2012-04-04 21:43:05
@MarcB我不這麼認爲,請閱讀P.S. – Ben 2012-04-04 21:43:55
@ben:d'oh ...我想我需要休息幾個星期...... – 2012-04-04 21:44:26
有parse_url()
切「東經骰子鏈接到它的組件,然後parse_str()
將採取查詢字符串,並將其分解成常規鍵值數組。
$url = 'your url here';
$parts = parse_url($url);
$query = parse_str($parts['query']);
echo $query['q'];
我不明白爲什麼$ _GET是不夠的。但櫃面它不是,在這裏:
$ php -r '$url = "http://example.com/?do=search&q=testing+this+out"; $parts = parse_url($url); $vars = explode("&", $parts["query"]); print_r($vars);'
Array
(
[0] => do=search
[1] => q=testing+this+out
)
mabye更快速,更簡單...
$requested_query_vars = $_SERVER["QUERY_STRING"];
或parse_url()PHP函數
$requested_query_vars = parse_url($request_url, PHP_URL_QUERY);
你想
'parse_url() 'http://www.php.net/manual/en/function.parse-url.php – Cfreak 2012-04-04 21:42:02
爲什麼不''_ _GET [「q」];' – Ben 2012-04-04 21:42:36