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

时间:2010-03-06 13:59:48

标签: php

我有一些网址,例如www.amazon.com/www.digg.comwww.microsoft.com/,我想删除尾随斜杠(如果存在),因此不仅仅是最后一个字符。是否有trimrtrim

4 个答案:

答案 0 :(得分:209)

您将rtrim放在答案中,为什么不直接查找?

$url = rtrim($url,"/");

作为旁注,请通过执行以下操作查找任何PHP函数:

rtrim代表'右边修剪')

答案 1 :(得分:8)

简单并适用于Windows和Unix:

$url = rtrim($url, '/\\')

答案 2 :(得分:3)

我来到这里寻找一种方法来删除尾随斜杠并重定向浏览器,我已经想出了一个答案,我希望与任何追随我的人分享:

//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 browsers always send a trailing slash after a domain name,而preg_match('{/$}',$_SERVER['REQUEST_URI'])将匹配所有其他带尾随斜杠的URI作为最后一个字符。然后preg_replace('{/$}', '', $_SERVER['REQUEST_URI'])将删除斜杠并移交给header()以重定向。 exit()函数对于停止任何进一步的代码执行非常重要。

答案 3 :(得分:-21)

$urls="www.amazon.com/ www.digg.com/ www.microsoft.com/";
echo preg_replace("/\b\//","",$urls);