使用以下代码在应该输出“ vegas”的情况下如何停止PHP输出“ vega”?
<?php
$file = 'vegas.css';
echo rtrim($file,'.css');
//Wrong/current echo/output: vega
//Desired echo: vegas
?>
答案 0 :(得分:4)
明白的第二个参数等RTRIM装饰功能是一组字符,所以你试图剥离的字符的每一个实例s
,c
和.
从字符串的末尾,而不是字符的有序序列。因此,它也从s
中删除了结尾的vegas
。
从php.net文档中:
character_mask
还可以通过character_mask参数指定要删除的字符。只需列出要删除的所有字符。使用..您可以指定字符范围。
更好地测试您的字符串的末尾是.css
,然后再对最后4个字符进行子字符串
答案 1 :(得分:3)
您可以使用basename()功能:
<?php
$file = 'vegas.css';
$file = basename($file, ".css");
echo $file;
//返回
vegas
答案 2 :(得分:1)
可以使用str_replace
,以取代空值的文本:
$file = 'vegas.css';
echo str_replace(".css", "", $file);
答案 3 :(得分:0)
您也可以尝试以下操作:
echo basename('file.csv','。csv');