почему parse_url возвращает фрагмент? - PullRequest
6 голосов
/ 03 ноября 2011

У меня есть следующий URL:
http://sub.mysite.com/store/?store=Fine+Ting&storeid=3726&test1=value1&test2=value2

Использование 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 только после хеш-метки #.

Почему тогда parse_url возвращает фрагмент?Разве это не должно быть в [query]?

1 Ответ

10 голосов
/ 03 ноября 2011

У вас проблема с вашим URL, амперсанд закодирован в htmlentities (&).Поэтому parse_str считает, что фрагмент начинается там.

Попробуйте использовать html_entity_decode перед передачей URL-адреса на parse_url.

...