为了账号安全,请及时绑定邮箱和手机立即绑定

url 内的 PHP 参数累积参数

url 内的 PHP 参数累积参数

PHP
开满天机 2023-09-15 18:24:58
假设我有一个网址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;

演示


查看完整回答
反对 回复 2023-09-15
  • 1 回答
  • 0 关注
  • 74 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信