0

PHPでデコードされたURIを取得し、再エンコードする必要がある と思います。

状況は次のとおりです。

  1. JavaScriptは、エンコードされたURIをクエリ文字列パラメーターとしてphpスクリプトに渡します。
  2. PHPスクリプトは、HTMLドキュメントに非表示の入力値としてURIを埋め込み、ユーザーエージェントにドキュメントで応答します。
  3. 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は、上記の例で必要な入出力を取得するための答えではありません。

ありがとう、メイシー

4

3 に答える 3

3

お探しですか:http://fr.php.net/manual/en/function.urlencode.php

于 2011-01-22T19:22:11.650 に答える
1

役立つかどうかはわかりませんが、PHPには3つの便利な機能があります。

$url = parse_url('put the url here');
parse_str( $url['query'], $query ); // generating an array by reference (yes, kinda weird)
echo $query; //in this line, you can encode or decode.

または、クエリをマウントする場合は、http_build_query();を使用できます。次のように、配列から値を受け入れます。

$url = 'http://my.example.com/dog walk?';
$array = Array (
 'is' => 'very_great',
);
$url_created = $url . http_build_query($array);
于 2011-01-23T03:09:53.007 に答える
0

urldecode:

http://www.php.net/manual/en/function.urldecode.php

于 2011-01-22T19:22:42.407 に答える