In PHP, I want to compare two relative URLs for equality. The catch: URLs may differ in percent-encoding, e.g.
/dir/file+file
vs./dir/file%20file
/dir/file(file)
vs./dir/file%28file%29
/dir/file%5bfile
vs./dir/file%5Bfile
According to RFC 3986, servers should treat these URIs identically. But if I use ==
to compare, I'll end up with a mismatch.
So I'm looking for a PHP function which will accepts two strings and returns TRUE
if they represent the same URI (dicounting encoded/decoded variants of the same char, upper-case/lower-case hex digits in encoded chars, and +
vs. %20
for spaces), and FALSE
if they're different.
I know in advance that only ASCII chars are in these strings-- no unicode.