假設我有一個網址http://www.somepage.com/clicker.php?id_campaign=8&id_email=9324&url=https://www.google.com/search?q=dog&sxsrf=ALeKk019eteEpAwVf2Fk4qYo7TiwhuMQ_Q:1596666153666&source=lnms&tbm=isch&sa=X&ved=2ahUKEwiqzqf3jIXrAhUisaQKHRayBWAQ_AUoAXoECBkQAw&biw=1920&bih=921#imgrc=M4wsJO0A7OQfTM我試圖使用以下代碼獲取參數id_campaign、id_email和url :$url = htmlspecialchars_decode($url);$parts = parse_url($url);parse_str($parts['query'], $query);當打印 $parts['query'] 時它只給我:https://www.google.com/search?q=dog因為它認為 url 的其余部分是另一個參數...那么如何從 $url 中獲取所有url參數呢?
1 回答

湖上湖
TA貢獻2003條經驗 獲得超2個贊
在理想情況下,查詢中傳遞的 URL 將進行 URL 編碼,而不是 HTML 編碼。
在您的情況下,您可以做的就是手動將所有內容替換&為臨時內容,然后在解析 URL 后將它們全部替換回來。這并不完全漂亮,但有效:
$url = str_replace('&', '__TEMP__', $url);
$parts = parse_url($url);
parse_str($parts['query'], $query);
$urlParam = str_replace('__TEMP__', '&', $query['url']);
echo $urlParam;
- 1 回答
- 0 關注
- 98 瀏覽
添加回答
舉報
0/150
提交
取消