使用 preg_replace 在目录名和斜杠后添加一个字符串

Add a string after dirname and slash using preg_replace

如果我有以下 PATH 作为 string:

dirname/user folder/sample_file.png

如何在 PATH 中的 dirname/user 文件夹后添加字符串 _trash,所以它的结果是:

dirname/user folder_trash/sample_file.png

这应该适合你:

<?php

    $path = "dirname/user folder/sample_file.png";

    echo $path = dirname($path) . "_trash/" . basename($path);

?>

输出:

dirname/user folder_trash/sample_file.png

编辑:

您可以搜索该文件夹,然后将其替换为新文件夹:

<?php

    $path = "dirname/user folder/another folder/sample_file.png";  

    $searchFolder = "/user folder/";
    $replaceFolder = "user folder_trash";

    echo $path = preg_replace($searchFolder, $replaceFolder, $path, 1); 

?>

输出:

dirname/user folder_trash/another folder/sample_file.png

编辑 2:

如果 sting 每次都遵循相同的模式,这应该可以更改第二个文件夹:

<?php

    $path = "dirname/user folder/another folder/another folder/sample_file.png";  

    $parts = explode("/", $path);
    $parts[1] = $parts[1] . "_trash";

    echo $path = implode("/", $parts);

?>

输出:

dirname/user folder_trash/another folder/another folder/sample_file.png

另一种方式:

  1. 您还使用 explode 函数将字符串拆分为项目(使用 count 获取项目数量的函数)。

  2. 然后修改每一项。由你决定。

  3. 最后,通过string concatenation

  4. 将项目合并为字符串