首页 >后端开发 >php教程 >如何从 PHP 中的 URL 中删除查询字符串以获得干净的 URL?

如何从 PHP 中的 URL 中删除查询字符串以获得干净的 URL?

Patricia Arquette
Patricia Arquette原创
2024-12-02 20:47:11798浏览

How Can I Remove Query Strings from URLs in PHP to Get Clean URLs?

删除干净 URL 的查询字符串

在 PHP 中,URL 通常包含包含附加信息的查询字符串。但是,有时您可能需要只检索没有查询字符串的干净 URL。

PHP 实现

要实现此目的,您可以使用 strtok() 函数:

$url = strtok($_SERVER["REQUEST_URI"], '?');

strtok() 有效地捕获第一次出现 ? 之前的字符串。

其他技术

虽然 strtok() 是推荐的方法,但还有替代技术:

  • strstr(): 捕获 ? 之前的字符串。如果与 true 作为第二个参数一起使用。但是,它不太可靠。
  • explode(): 将 URL 拆分为 ? 处的数组。访问干净 URL 的第一个元素。
  • substr():与 strrpos() 结合,此方法也存在可靠性问题。

演示

为了说明不同的技术,请考虑以下内容URL:

  • www.example.com/myurl.html?unwantedthngs
  • www.example.com/myurl.html

的输出不同的方法如下:

Method Output
strtok() www.example.com/myurl.html
strstr(/true) www.example.com/myurl.html
explode(/2) www.example.com/myurl.html
substr/strrpos() www.example.com/myurl.html

如您所见,strtok() 始终提供正确的结果,而其他技术在某些情况下可能会失败,特别是当查询字符串丢失时。

以上是如何从 PHP 中的 URL 中删除查询字符串以获得干净的 URL?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn