【发布时间】:2009-08-14 23:37:23
【问题描述】:
我有一个网址,
example.com/?/page1
我想知道 url 的 GET 部分是什么,例如:
?/page1
我该怎么做?就像,不必拆分字符串和东西?
【问题讨论】:
我有一个网址,
example.com/?/page1
我想知道 url 的 GET 部分是什么,例如:
?/page1
我该怎么做?就像,不必拆分字符串和东西?
【问题讨论】:
以下变量将包含整个查询字符串(即 ? 字符后面的 url 部分):
$_SERVER['QUERY_STRING']
如果您对 $_SERVER 数组的其余内容感到好奇,请参阅 PHP 手册 here。
【讨论】:
这是一个奇怪的 GET URL,因为正常格式是:
domain.com/page.html?a=1&b=2
PHPinfo 将大有帮助:
<?php phpinfo(); ?>
相关性输出:
<?php
// imagine URL is 'domain.com/page.html?a=1&b=2'
phpinfo();
echo $_GET['a']; // echoes '1'
echo $_GET['b']; // echoes '2'
echo $_SERVER['QUERY_STRING']; // echoes 'a=1&b=2'
echo $_SERVER['REQUEST_URI']; // echoes '/path/to/page.php?a=1&b=2'
?>
【讨论】:
听起来你想查找parse_url() 和parse_str()。当然,这些会在幕后“拆分”字符串。
然后,如果需要,您可以使用 http_build_query 重建查询。
$url = "example.com/?/page1";
$res = parse_url($url, PHP_URL_QUERY);
print "Query:".$res."\n";
输出是:
Query:/page1
【讨论】:
for($i = 0, $e = count($_GET[]); $i < $e; $i++) {
echo $_GET[$i];
}
【讨论】: