У меня есть следующий URL: http://sub.mysite.com/store/?store=Fine+Ting&storeid=3726&test1=value1&test2=value2
Использование print_r(parse_url($url)) дает мне это:
print_r(parse_url($url))
Array ( [scheme] => http [host] => sub.mysite.com [path] => /store/ [query] => store=Fine+Ting& [fragment] => 038;storeid=3726&test1=value1&test2=value2 )
Согласно документации Я долженполучить fragment только после хеш-метки #.
fragment
Почему тогда parse_url возвращает фрагмент?Разве это не должно быть в [query]?
parse_url
[query]
У вас проблема с вашим URL, амперсанд закодирован в htmlentities (&).Поэтому parse_str считает, что фрагмент начинается там.
&
parse_str
Попробуйте использовать html_entity_decode перед передачей URL-адреса на parse_url.