为什么parse_url返回片段?

Ste*_*ven 6 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 
) 
Run Code Online (Sandbox Code Playgroud)

根据文档,我应该只fragment在hashmark#之后得到.

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

mAu*_*mAu 10

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

在将url传递给之前尝试使用html_entity_decodeparse_url.