在 PHP 中使用 strrchr 和 substr 删除最后一个字符


Remove the last character using strrchr and substr in PHP

用户可以输入 abc.com/而不是 abc.com,所以我想使用 strchr 进行验证。

这有效,但看起来很奇怪

    if(strrchr($url, "/") == "/"){
        $url = substr($url, 0,-1);
        echo $url;
    }

有没有更好的方法

是 - 使用可选的第二个参数来trim()rtrim()您可以指定一个字符列表来修剪字符串的末尾。

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

如果尾随/存在,它将被剥离,字符串返回时没有它。如果不存在,字符串将以其原始形式返回。

// URL with trailing /
$url1 = 'example.com/';
echo rtrim($url1, '/');
// example.com
// URL without trailing 
$url2 = 'example.com';
echo rtrim($url2, '/');
// example.com
// URL with many trailing /
$url3 = 'example.com/////';
echo rtrim($url3, '/');
// example.com
如果您

还想去除空格,请在字符串中添加其他字符'/',如rtrim($url, ' /')

如果您只想测试URL的最后一个字符是否/,则可以使用substr()

if (substr($url, -1) === '/') {
  // true
}