删除重复的尾部斜杠

Ján*_*gyi 3 php regex string url

我想检测一下php像是否$string包含重复的尾部斜杠.

例如:

$string = "http://somepage.com/something/some.html/////";
Run Code Online (Sandbox Code Playgroud)

$string = "http://somepage.com/something/some.html";
Run Code Online (Sandbox Code Playgroud)

我想做一个if,如果它有重复,像:

If ($string = "http://somepage.com/something/some.html/////";) {
    remove extra trailing slashes
} 
//else do nothing... 
Run Code Online (Sandbox Code Playgroud)

Cri*_*isp 9

适用于rtrim像这样

$string = rtrim($string, '/');
Run Code Online (Sandbox Code Playgroud)


Sve*_*sen 6

你可以使用rtrim():

$string = rtrim($string, '/');
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因想要先检查它是否有尾部斜杠,那么你可以检查最后一个字符,如下所示:

if ($string[ strlen($string)-1 ] === '/') {
    $string = rtrim($string, '/');
}
Run Code Online (Sandbox Code Playgroud)

抛出字符串rtrim()并不昂贵,因此您不必首先检查尾部斜杠.

使用正则表达式修剪尾部斜杠有点过度杀戮.