PHPでデコードされたURIを取得し、再エンコードする必要がある と思います。
状況は次のとおりです。
- JavaScriptは、エンコードされたURIをクエリ文字列パラメーターとしてphpスクリプトに渡します。
- PHPスクリプトは、HTMLドキュメントに非表示の入力値としてURIを埋め込み、ユーザーエージェントにドキュメントで応答します。
- JavaScriptは、埋め込まれたURIを読み取り、非表示の入力の値に基づいて現在のドキュメントの場所を設定します。
ステップ2で、$ _ GETを介して読み込んだ後、URIが完全にデコードされていることがわかりました。したがって、非表示の入力にURIを埋め込むと、エンコードされなくなります。そこで、URIを適切に再エンコードするPHPスクリプトを実行したいと思います。例:
http://my.example.com/dog walk?is=very great
==>
http://my.example.com/dog%20walk?is=very%20great
このためのビルド済みのphp関数はありますか、それとも自分で作成する必要がありますか?
注意: urlencodeとurldecodeは、上記の例で必要な入出力を取得するための答えではありません。
ありがとう、メイシー