我想張貼#參數查詢字符串像...如何獲得查詢字符串中的散列(#)值
www.demo.php?tag=c#
現在我試圖獲取標記值在另一個頁面
$_GET['tag']
但我沒有得到#值沒有與$ _GET來。我只能得到「c」。
我想張貼#參數查詢字符串像...如何獲得查詢字符串中的散列(#)值
www.demo.php?tag=c#
現在我試圖獲取標記值在另一個頁面
$_GET['tag']
但我沒有得到#值沒有與$ _GET來。我只能得到「c」。
哈希字符(#
)在URL中有特殊含義。它引入了一個fragment identifier。片段標識符通常用於定位頁面內的某個位置。
瀏覽器處理片段標識符,當瀏覽器向服務器發出HTTP請求時,它將從URL中刪除。
作爲一個特殊字符,如果你想讓它具有它的字面值,你必須對它進行編碼。寫的網址在你的問題的正確方法是:
www.demo.php?tag=c%23
當它是這樣寫的,$_GET['tag']
包含正確的值('c#'
)。
如果您從PHP代碼此類URL(可能是從諸如數據庫的外部資源獲取的tag
值),你必須使用PHP函數urlencode()
正確編碼你把網址中的值。或者,甚至更好,創建一個數組的所有URL參數和它們的值,然後將它傳遞給http_build_query()
生成的網址:
$params = array(
'tag' => 'c#',
'page' => 2,
);
$url = 'http://localhost/demo.php?'.http_build_query($params);
參見:http://stackoverflow.com/q/2317508/3933332 – Rizier123