0

我需要获取一个用 PHP 解码的 uri,然后重新编码。

情况如下:

  1. JavaScript 将编码的 uri 作为查询字符串参数传递给 php 脚本。
  2. PHP 脚本将 uri 作为隐藏输入值嵌入到 html 文档中,并用文档响应用户代理。
  3. JavaScript 读取嵌入的 uri 并根据隐藏输入的值设置当前文档的位置。

在第 2 步中,我发现 Uri 在通过 $_GET 读取后已完全解码。因此,当我将 uri 嵌入隐藏输入中时,它会变为未编码。所以我想运行一个 PHP 脚本,它可以正确地重新编码 Uri,例如:

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

网址解码:

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

于 2011-01-22T19:22:42.407 回答