解析URL查询中的URL查询

时间:2014-02-04 22:22:13

标签: php zend-framework2

在我的应用程序的某个时刻,用户被发送到此URL:

https://mysite.com/bframe/auth?next=/bframe?foo=bar&foo2=bar2

如您所见,URL中的 next 参数实际上包含一个新的url查询,其中 foo foo2 作为参数。要使用:

解析Zend2 im中的下一个参数
$next = $this->getController()->getRequest()->getQuery('next', null);

但这让我回到第一个参数/bframe?foo=bar修剪& foo2 = bar2 ,这有点意义,因为 getQuery 将第一个问号视为查询?我不太清楚,问题是,如何检索 next 的完整价值?

1 个答案:

答案 0 :(得分:1)

urlencode()您的“下一个”内容

$url = 'https://mysite.com/bframe/auth?next=' . urlencode('/bframe?foo=bar&foo2=bar2');

您的网址应如下所示:

https://mysite.com/bframe/auth?next=%2Fbframe%3Ffoo%3Dbar%26foo2%3Dbar2

您会注意到不再有任何含糊不清的?&字符


由于我不确定您在代码中如何使用$next,因此概念是将您计划插入的任何数据的url编码到另一个url查询字符串结构中