%20
URL の は、元の値の一部であるため、スペースに変換しないでください。それらがデコードされている場合は、URL での転送中に値を正しくエンコードできなかったことを意味します。
URL で転送する値:
My string with spaces & special characters
URL では、これを次のようにエンコードする必要があります。
My%20string%20with%20spaces%20%26%20special%20characters
最終 URL:
http://example.com?foo=My%20string%20with%20spaces%20%26%20special%20characters
これは、URL でクエリ パラメータとして転送する値です。つまり、次のように適切にエンコードする必要があります。
http%3A%2F%2Fexample.com%3Ffoo%3DMy%2520string%2520with%2520spaces%2520%2526%2520special%2520characters
最終的な最終 URL:
http://my-service.example.com?url=http%3A%2F%2Fexample.com%3Ffoo%3DMy%2520string%2520with%2520spaces%2520%2526%2520special%2520characters
PHPはこれを一度デコードすると、次の$_GET['url']
ことがわかります。
http://example.com?foo=My%20string%20with%20spaces%20%26%20special%20characters