У меня есть URL,
example.com/?/page1
и я хочу узнать, что такое часть GET URL-адреса, например:
?/page1
Как мне это сделать? например, без необходимости разделить строки и прочее?
Следующая переменная будет содержать всю строку запроса (то есть часть URL-адреса, следующего за символом?):
$_SERVER['QUERY_STRING']
Если вам интересно узнать остальную часть массива $ _SERVER, они перечислены здесь в руководстве по PHP.
Это странный URL GET, потому что нормальный формат:
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]; }