使用 PHP 剥离 URL 参数

2022-08-30 10:17:15

我在PowerPoint演示文稿中有一些链接,并且由于某种原因,当单击这些链接时,它会向URL添加一个返回参数。好吧,这个返回参数导致我的Joomla站点的MVC模式变得笨拙。

使用 PHP 剥离此返回参数的有效方法是什么?

例:http://mydomain.example/index.php?id=115&Itemid=283&return=aHR0cDovL2NvbW11bml0


答案 1

最安全的“正确”方法是:

  1. 使用 parse_url() 将 url 解析为数组
  2. 提取查询部分,使用parse_str() 将其分解为数组
  3. 从数组中删除它们所需的查询参数unset()
  4. 使用http_build_query() 重建原始网址

快速和肮脏是使用字符串搜索/替换和/或正则表达式来杀死值。


答案 2

在另一个线程中,Justin建议最快的方法是使用strtok()

 $url = strtok($url, '?');

在这里也可以看到他通过速度测试的完整答案:https://stackoverflow.com/a/1251650/452515


推荐