在找到给定目录之前如何删除部分路径?

How to remove part of path until a given directory is found?

我的路径与此模板类似:

`/dir1/dir2/dirN/dirNplus1/dirNplus2/`

以及演示此模板的示例:

`/var/www/sei/modules/module1/`

我希望能够有一个功能,我可以输入完整路径和特定目录,然后只进入 return 路径的右侧部分,删除包括指定目录在内的左侧部分在参数中。

在给出的示例中,如果我使用:

`function('/var/www/sei/modules/module1/', 'sei')`

那么我想得到的结果是:

`/modules/module1/`

关于如何实现这一点有什么想法吗?

正如@ADyson 所建议的,我在下面编写了这段代码:

const DIRETORIO_SEI  = 'sei';

private static $caminho;

public static function getCaminhoModulo($append = '') {
    if (self::$caminho != null) {
        return self::$caminho;
    }
    $diretorio = explode('/', realpath(__DIR__.'/../../../'));
    $caminho = '';
    $incluir = false;
    for ($i = 0; $i < count($diretorio); $i++) {
        if ($incluir) {
            $caminho = $caminho . $diretorio[$i] . '/';
        }
        if ($diretorio[$i] == self::DIRETORIO_SEI) {
            $incluir = true;
        }
    }
    self::$caminho = $caminho;
    return $caminho.$append;
}