使用PHP将参数附加到URL的末尾

时间:2011-02-24 13:47:27

标签: php regex preg-replace

我正在努力做一些看似很简单的事情......

我使用PHP cURL来抓取数据并将其插入我的网站。 cURL在输出之前将数据保存为$data中的字符串。

我要做的是定位$data中包含的所有网址。 URL有时包含一个固定值参数,我需要将其移动到URL的末尾。网址如下所示,其中category=widgets可以显示在网址的任何位置:

http://www.mysite.com/script.php?category=widgets&show=all&size=big

我需要将参数category=widgets移到所有网址的末尾,所以它们看起来像这样:

http://www.mysite.com/script.php?show=all&size=big&category=widgets

我想我可以先用str_replace删除category=widgets的所有出现,这很容易。

我遇到的问题是将category=widgets附加到网址的末尾。由于URL是动态的,因此preg_replace可能更合适。我是正规表达的新手,这让我很头疼。

非常感谢您的帮助。感谢。

1 个答案:

答案 0 :(得分:4)

我建议使用parse_url,因为从长远来看,这可能比字符串操作更加强大。

因此,您可以使用parse_url提取各个块,然后根据需要组合新的URL。