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

发布于 2024-10-19 04:41:29 字数 734 浏览 3 评论 0原文

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

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

我想做的是定位 $data 中包含的所有 URL。 URL 有时包含一个固定值参数,我需要将其移动到 URL 的末尾。 URL 看起来像这样,其中 category=widgets 可以出现在 URL 中的任何位置:

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

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

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

我想我可以首先使用 str_replace 删除所有出现的 category=widgets ,这很简单。

我遇到的问题是将 category=widgets 附加到 URL 末尾。因为 URL 是动态的,也许 preg_replace 更合适。我是正则表达式的新手,这让我很头疼。

将不胜感激您的帮助。谢谢。

I am struggling to do something which appears quite simple...

I use PHP cURL to scrape data and insert it into my website. cURL saves the data as a string in $data before it is output.

What I am trying to do is target all of the URL's contained within $data. The URL's sometimes contain a fixed value parameter that I need move to the end of the URL. The URL's look like this, where category=widgets can appear anywhere in the URL:

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

I need to move the parameter category=widgets to the end of all URL's, so they look like this:

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

I'm thinking that I can firstly remove all occurences of category=widgets with str_replace, that's the easy bit.

The problem I have is appending category=widgets to the end of the URL. Because the URL is dynamic, perhaps preg_replace is more appropriate. I'm new to regular expressions, and it's giving me a headache.

Would appreciate your help. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

云巢 2024-10-26 04:41:29

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

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

I'd recommend making use of the parse_url, as this is liable to be considerably more robust in the long term than string manipulation.

As such, you could use parse_url to extract the various chunks and then assemble a new URL based on these as required.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文