为什么parse_url返回片段?

时间:2011-11-02 21:14:25

标签: php parse-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 
) 

根据documentation我应该只在#hashmark标记后得到fragment

为什么parse_url会返回片段?不应该在[query]

1 个答案:

答案 0 :(得分:9)

你的网址有问题,&符号是以htmlentities(&)编码的。因此parse_str认为,片段就是从那里开始的。

在将网址传递给parse_url之前尝试使用html_entity_decode