【发布时间】:2011-05-05 12:15:38
【问题描述】:
我正在尝试将复杂的 URL 作为 url 参数传递,但如果 url 包含 & 则会出现问题,例如我想将以下链接作为参数传递
我正在尝试从用户那里获取一个 URL 作为参数并将用户重定向到该 URL。
我如何在 PHP 中处理这个问题?
整个故事:
我正在尝试对 Flash 文件进行一些广告分析,以便用户将 Flash 广告提交到包含所需网页链接的网站。
现在,我的客户需要知道这个 flash 文件被点击了多少次。为了解决这个问题,我会直到每个提交 flash 的人都写一个指向我的客户网页的链接,并将所需的 URL 作为参数传递如下
http://myclientwebpage.com/disp.php?link=www.google.com&id=16
通过这种方式,我可以更新我的数据库并计算该链接被点击的次数
【问题讨论】:
-
你能进一步解释你真正想用它做什么吗?
-
如果我理解正确,您的示例中的“www.google.com&id=16”是需要编码的链接。所以,不要写
echo "href='http://myclientwebpage.com/disp.php?link=" . $link . "'",而是写echo "href='http://myclientwebpage.com/disp.php?link=" . rawurlencode($link) . "'"。然后,在disp.php代码中,您将拥有$_GET['link'],其中将包含“www.google.com&id=16”(不仅仅是“www.google.com”)。 -
我认为唯一的问题应该是与符号
&在原始URI 中应该写为%26。所有其他角色都可以按原样介绍。