[英]Parsing URL query in PHP
假設有一個www.domain.org?x=1&y=2&z=3
的網址,那么在不使用GET或REQUEST的情況下,在php中分離出網址的查詢元素的智能方法是什么?
$url = parse_url($url);
echo $url[fragment];
我認為不可能單獨返回查詢部分嗎? 據我所知,查詢只會說x=1&y=2&z=3
但如果我錯了請告訴我。 否則,您將如何解析$url[query]
?
編輯:片段應該是查詢。 對不起,我正在學習!
您可以執行第二步並使用parse_str解析查詢字符串。
$url = 'www.domain.org?x=1&y=2&z=3';
$url_parts = parse_url($url);
parse_str($url_parts['query'], $query_parts);
var_dump($query_parts);
我假設你的意思是查詢字符串而不是片段,因為片段沒有標准模式。
上面的一些答案我得到了錯誤,但他們確實引導我找到了正確的答案。 多謝你們。
$url = 'www.domain.org?x=1&y=2&z=3';
$query = $url[query];
parse_str($query);
echo "$x &y $z";
這輸出: 1 2 3
,這是我想弄清楚的。
作為一個沒有錯誤檢查的單線
parse_str(parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY), $query);
$query
將包含查詢字符串參數
與PHP的$_GET
,這將適用於任何長度的查詢參數
我強烈建議使用這個url包裝器https://github.com/weew/url (我寫的)
它能夠解析復雜的URL,如protocol://username:password@subdomain.domain.tld:80/some/path?query=value#fragment
,還有更多好東西 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.