我调用一个php脚本http://site.com/process.php
,它将url作为其参数之一。 for=
http://site.com/process.php?for=http://www.anotherwebsite.com
然后我这样做并尝试parse_url()
但是parse_url()给出了一个解析错误。
$uri = $_SERVER['REQUEST_URI']; // /process.php?for=http://www.anotherwebsite.com
parse_url($uri);
如何在发送方(在url中)或在接收方(php)上编码for
参数,以便parse_url()
知道它只是一个恰好看起来像的参数一个网址?
答案 0 :(得分:3)
在将您的网址列为get
参数之前,请使用urlencode
$full_url = 'http://site.com/process.php?for=' . urlencode('http://www.anotherwebsite.com');
此功能很方便 编码要在a中使用的字符串 查询URL的一部分,方便 将变量传递给下一个的方法 页。
要反转urlencode
的结果,请使用urldecode
。正如马里奥在下面的评论中指出的那样,$_GET
参数已被urldecoded。
答案 1 :(得分:2)
好吧,首先你必须urlencode()
for=
参数,然后在process.php
,你可以做到
$url = $_GET["for"];
$url = urldecode($url); // http://www.anotherwebsite.com
以下是功能: http://php.net/manual/en/function.urlencode.php http://php.net/manual/en/function.urldecode.php