1

将其他网站 URL 存储在您自己的 php 页面 URL 中的正确协议是什么?

例如,如果我想存储google它会很容易。

MySite.com/test.php?url=http://www.google.com


但是http://www.google.com,如果我想存储另一个网站的 PHP 页面,那么一个比 更复杂的 URL 又如何呢?

(例如http://www.AnotherSite.com/page1.php?key=value&key2=value2&key3=value3

那么我将如何将它存储在我的 PHP 页面的 URL 中?您是否用“\&”短语替换所有“&”符号?有没有更好的方法?这甚至一开始就有效吗?


谢谢!!!

4

4 回答 4

2

只需对URL进行编码。您可以使用 PHP 函数urlencode()urldecode()为此。

于 2012-11-27T07:01:08.503 回答
2

如果你不想考虑:

$url = 'mysite.com/test.php?' . http_build_query(array(
    'url' => $anything_you_want,
));

除此以外:

$url = 'mysite.com/test.php?url=' . urlencode($anything_you_want);

你也可以使用rawurlencode(). 显着的区别在于它遵循RFC 3986

进一步阅读:

http_build_query() urlencode() rawurlencode()

于 2012-11-27T07:01:15.007 回答
2

urlencode()如果您想将整个 URL 用作一个参数,只需对其进行编码:

http://us3.php.net/manual/en/function.urlencode.php

例子:

$url = 'http://www.AnotherSite.com/page1.php?key=value&key2=value2&key3=value';
echo 'http://MySite.com/test.php?url='.urlencode($url);
于 2012-11-27T07:01:15.633 回答
2

您可以对网址使用编码。PHP 内置了非常简单的方法来做到这一点。

http://php.net/manual/en/function.urlencode.php

于 2012-11-27T07:01:42.640 回答