代码之家  ›  专栏  ›  技术社区  ›  John

PHP修剪不当剥离

  •  0
  • John  · 技术社区  · 5 年前

    当PHP应该使用以下代码输出“vega”时,如何阻止它输出“vega”?

    <?php
    $file = 'vegas.css';
    echo rtrim($file,'.css');
    //Wrong/current echo/output: vega
    //Desired echo: vegas
    ?>
    
    4 回复  |  直到 5 年前
        1
  •  4
  •   Community Ian Goodfellow    4 年前

    要明白,trim函数(如rtrim)的第二个参数是一组字符,所以您要尝试去除字符的每个实例 s c . 从字符串末尾开始,而不是按顺序排列的字符序列。这就是为什么它也删除了尾随 s vegas 也。

    也可以通过character_mask参数指定要去除的字符。只需列出所有要删除的字符。与。。可以指定字符范围。

    最好测试一下你的字符串的结尾是 .css 然后对最后4个字符进行子串

        2
  •  3
  •   MorganFreeFarm Nevermind23    5 年前

    你可以用 basename()

    <?php
    $file = 'vegas.css';
    $file = basename($file, ".css");
    echo $file;
    

    //返回

    vegas
    
        3
  •  1
  •   Googlian    5 年前

    你可以用 str_replace

    $file = 'vegas.css';
    echo str_replace(".css", "", $file);
    
        4
  •  0
  •   Susmita Mitra    5 年前

    echo basename('文件.csv','.csv');