使用 PHP 删除 URL 中斜杠的最佳方法

新手上路,请多包涵

我有一些 URL,例如 www.amazon.com/www.digg.comwww.microsoft.com/ 我想删除最后一个斜杠,如果它存在的话,所以不只是。是否有 trimrtrim 为此?

原文由 daniel 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 893
1 个回答

我来这里是为了寻找一种删除斜杠并重定向浏览器的方法,我想出了一个答案,我想分享给任何追随我的人:

 //remove trailing slash from uri
if( ($_SERVER['REQUEST_URI'] != "/") and preg_match('{/$}',$_SERVER['REQUEST_URI']) ) {
    header ('Location: '.preg_replace('{/$}', '', $_SERVER['REQUEST_URI']));
    exit();
}

($_SERVER['REQUEST_URI'] != "/") 将避免主机 URI,例如 www.amazon.com/,因为 Web 浏览器总是在域名后发送斜杠,而 preg_match('{/$}',$_SERVER['REQUEST_URI']) 将匹配所有其他带有斜杠作为最后的 URI特点。然后 preg_replace('{/$}', '', $_SERVER['REQUEST_URI']) 将删除斜线并移交给 header() 进行重定向。 exit() 函数对于停止任何进一步的代码执行很重要。

原文由 Kenneth Kaane 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏