$ _GET无法使用&在URL中

时间:2014-10-10 09:46:05

标签: php

我正在开发一个Wix小部件。包含我的小部件的iframe具有由Wix生成的URL:

  

http://domain.com/wix/widget/?cacheKiller=123456&compId=hyeddksh&deviceType=desktop&instance=xxxxxxxxxxxxxx&locale=en&viewMode=editor&width=50

我尝试使用$ _GET从URL中重新获取实例和compId值,但没有运气。

echo '<pre>';
    print_r($_GET);
echo '</pre>';

给了我

Array
(
    [cacheKiller] => 123456
    [amp;compId] => hyeddksh
    [amp;deviceType] => desktop
    [amp;instance] => xxxxxxxxxxxxxx
    [amp;locale] => en
    [amp;viewMode] => editor
    [amp;width] => 50
)

在不使用 $ _ GET [amp; compId] $ _ GET [amp; instance] 的情况下检索这些值的想法?

修改 为了解决我的问题,我使用$compId = isset($_GET['compId']) ? $_GET['compId'] : $_GET['amp;compId'];,我认为这不是正确的方法。任何人吗?

1 个答案:

答案 0 :(得分:3)

作为 mega quick and dirty hack ,您可以使用array_walk

array_walk($_GET, function($value, $key) use(&$_GET) {
     $_GET[str_replace('amp;', '', $key)] = $_GET[$key];
     unset($_GET[$key]);
});

See it in action

然后您可以使用没有amp;前缀的密钥。