使用preg_place将绝对URL转换为相对URL

2022-03-22 00:00:00 regex php preg-replace

(我搜索了一下,发现很多关于将相对URL转换为绝对URL的问题,但没有关于绝对URL转换为相对URL的问题。)

我想从表单域中获取输入,最后得到一个相对的url。理想情况下,这将能够处理以下任何输入,并以/page-slug结束。

  • http://example.com/page-slug
  • http://www.example.com/page-slug
  • https://example.com/page-slug
  • https://www.example.com/page-slug
  • example.com/page-slug
  • /page-slug
  • 也许更多的是我没有考虑到.?

编辑:我也希望此功能适用于相对URL为/page/post的内容(即具有多个劈开的内容)。


解决方案

如果您始终使用URL,请查看parse_url。具体:

parse_url($url, PHP_URL_PATH)

仅供参考,我针对您的所有输入进行了测试,它对除以下各项之外的所有输入都有效:example.com/page-slug

相关文章