在 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()
or rtrim()
的可选第二个参数,您可以将字符列表指定为 trim 字符串末尾。:
$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
}
用户可能会输入 abc.com/ 而不是 abc.com,所以我想使用 strchr
进行验证。
这有效但看起来很奇怪
if(strrchr($url, "/") == "/"){
$url = substr($url, 0,-1);
echo $url;
}
有更好的方法吗?
是 - 使用 trim()
or rtrim()
的可选第二个参数,您可以将字符列表指定为 trim 字符串末尾。:
$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
}