如何只获取一个URL? (PHP)

时间:2012-04-04 21:39:57

标签: php url

我有这个网址:

example.com/?do=search&q=testing+this+out

我需要将& q =之后的部分存储在变量中。

哪种PHP功能最适合这样做,爆炸,切片?

P.S。我使用$request_url = $_SERVER['REQUEST_URI'];来获取URI。

4 个答案:

答案 0 :(得分:5)

如果你只需要q的值,你可以简单地写:

$value = $_GET['q'];

答案 1 :(得分:4)

parse_url()切成一个url到其组件中,然后parse_str()将获取一个查询字符串并将其分解为常规键值数组。

$url = 'your url here';
$parts = parse_url($url);
$query = parse_str($parts['query']);
echo $query['q'];

答案 2 :(得分:0)

我不明白为什么$ _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
)

答案 3 :(得分:0)

mabye更快更简单...

$requested_query_vars = $_SERVER["QUERY_STRING"];

或parse_url()php函数

$requested_query_vars = parse_url($request_url, PHP_URL_QUERY);