Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
url累积参数中的PHP参数_Php_Url_Url Parameters - Fatal编程技术网

url累积参数中的PHP参数

url累积参数中的PHP参数,php,url,url-parameters,Php,Url,Url Parameters,假设我有一个url 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=2ah

假设我有一个url

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\u活动id\u电子邮件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参数呢?

在理想情况下,查询中传递的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;

在将$url放入url之前,您需要对其进行编码。$url是可变的,由于其他重要原因,我无法以任何方式进行修改,我只能更改$url解析参数的方式。不,这不正常,请尝试回显$query['url']