I have this strange situation with one of my clients. Apparently their website works with URL's like this:
http://example.com/msweb.nsf/pages/Books!OpenDocument&vw=Class&f1=books
If I send this to parse_url() call in PHP, then it converts & characters to &
for the returned array keyword 'path'. It doesn't do this for 'query' part, if such exists, only for 'path'.
It does this because it considers the whole part as path (since they use ! instead of ? as query separator). Is there a reason why such a conversion takes place for path (I would consider &
as invalid for path as & alone) and is there a standard I could refer the client to so they could fix the problem?
Current situation is that we create URL shorteners and utilize parse_url() as method to gather details about the URL, yet currently it breaks with that specific client because of the ampersand conversion.
I tried to search for this in parse_url() documentation, but didn't find anything referring to &