在PHP中使用strrchr和substr删除最后一个字符
用户可以输入abc.com/而不是abc.com,因此我想使用在PHP中使用strrchr和substr删除最后一个字符,php,Php,用户可以输入abc.com/而不是abc.com,因此我想使用strchr进行验证 这是可行的,但看起来很奇怪 if(strrchr($url, "/") == "/"){ $url = substr($url, 0,-1); echo $url; } 有更好的方法吗?是-使用可选的第二个参数,您可以指定一个字符列表来修剪字符串的结尾: $url = rtrim($url, '/'); 如果存在尾随的/,则会将其剥离,并返回不带尾随的字符串。如
strchr
进行验证
这是可行的,但看起来很奇怪
if(strrchr($url, "/") == "/"){
$url = substr($url, 0,-1);
echo $url;
}
有更好的方法吗?是-使用可选的第二个参数,您可以指定一个字符列表来修剪字符串的结尾:
$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()
是-使用可选的第二个参数,您可以指定一个字符列表来修剪字符串的结尾:
$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()
strrchr
在PHP中是无用的,必须有更简单的方法来获得你想要的存在。strrchr
在PHP中是无用的,必须有更简单的方法来获得你想要的存在。如果没有/在结尾,rtrim将返回false并且什么也不做?@ivyongrtrim()
将从字符串末尾删除//code>,并返回一个空URL。这不是你的本意吗,你想把example.com/
转换成example.com
?@ivyong请明确说明你想要实现什么,因为我可能误解了。是否要删除尾随文件/
,或只是验证其是否存在?请删除尾随文件。因此,如果url是abc.com,它将返回false,而我的url仍然是abc.comrtrim()将删除/
,但如果字符串不变,则不会返回false。我仍然不明白-您希望字符串abc.com
或true/false
出现/
?如果没有/在结尾,rtrim将返回false而不做任何事情?@ivyongrtrim()
将从字符串结尾删除//code>,并返回一个空URL。这不是你的本意吗,你想把example.com/
转换成example.com
?@ivyong请明确说明你想要实现什么,因为我可能误解了。是否要删除尾随文件/
,或只是验证其是否存在?请删除尾随文件。因此,如果url是abc.com,它将返回false,而我的url仍然是abc.comrtrim()将删除/
,但如果字符串不变,则不会返回false。我仍然不明白-您希望字符串abc.com
或true/false
出现/
的最终结果是什么?