用PHP删除URL中的尾部斜杠的最佳方法
我有一些url,如www.amazon.com/
或www.microsoft.com/
,我想删除结尾的斜杠(如果存在的话),所以不只是最后一个字符。 这是否有trim
或rtrim
?
你把rtrim
放在你的答案中,为什么不直接查找呢?
$url = rtrim($url,"/");
作为一个方面说明,通过执行以下操作来查找任何PHP函数:
( rtrim
代表'Right trim')
简单,适用于Windows和Unix:
$url = rtrim($url, '/\\')
我来到这里寻找一种方法来删除尾部的斜线和redirect浏览器,我想出了一个答案,我想分享给我的任何人:
//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()
redirect。 exit()
函数对于停止任何进一步的代码执行很重要。
$urls="www.amazon.com/ www.digg.com/ www.microsoft.com/"; echo preg_replace("/\b\//","",$urls);