[英]Get parameters from URL with PHP or jQuery/javascript
我有一個網址,而不是一個字符串。 它在瀏覽器的地址欄中
http://localhost/sample/?post_id2#access_key=1654040333
如何獲取以#
開頭的access_key
參數?
我試過使用$_SERVER['HTTP_HOST']
和$_SERVER['REQUEST_URI']
和$_SERVER['QUERY_STRING']
但有幫助。
誰能幫我嗎?
post_id2#access_key = 1654040333
access_key
不是您使用$_GET
獲取的常規查詢參數。 它是使用的網頁錨點參考(由瀏覽器設計,但如今也由JS框架等)。 但是,您不會完全迷失方向,因為有parse_url()函數可以為您解析此函數。 所以:
$url = 'http://localhost/sample/?post_id2#access_key=1654040333';
var_dump(parse_url($url));
將返回以下數組:
array(5) {
["scheme"]=>
string(4) "http"
["host"]=>
string(9) "localhost"
["path"]=>
string(8) "/sample/"
["query"]=>
string(8) "post_id2"
["fragment"]=>
string(21) "access_key=1654040333"
}
因此您的access_key
將位於fragment
密鑰中,因此您可以對其進行進一步處理以獲得值:
$parse_url_result = parse_url($_SERVER['QUERY_STRING']);
if (array_key_exists('fragment', $parse_url_result)) {
$tmp = explode('=', $parse_url_result['fragment']);
$access_key = $tmp[1];
}
嘗試通過javascript解析網址
alert(window.location.hash);
您可以使用parse_url
獲得所需的結果。
$url = "http://localhost/sample/?post_id2#access_key=1654040333";
var_dump(parse_url($url, PHP_URL_FRAGMENT));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.