2

次のようなパスがあります。

/home/duke/aa/servers/**servername**/var/...morefiles...

phpを使用して、パスから「サーバー名」を抽出したい

残念ながら、私はphpにあまり精通していませんが、使用するものを思いつきましたstrstr()が、パラメーター関数の1つとして5.3が必要なPHPバージョン5.2のみを使用しています。

「servername」を返すコードは何でしょうか?

4

3 に答える 3

8

を使用explode('/', $path)して、個々のディレクトリに分割できます。その後、どの配列要素がサーバー名であるかを判断するのはあなた次第です(サンプルパスを使用すると、#4になります)。

$parts = explode('/', $path);
echo $parts[4]; // **servername**
于 2011-07-12T20:10:28.010 に答える
6
function getServerName($data) {
    preg_match('#/servers/(.+)/var/#', $data, $result);
    if (isset($result[1]) {
        return $result[1];
    }
}

$data = '/home/duke/aa/servers/**servername**/var/...morefiles...';
echo getServerName($data);
于 2011-07-12T20:10:03.933 に答える
0

$str = '/home/duke/aa/servers/**servername**/var/...morefiles...';

echo preg_replace('$(.+)/servers/(.+)/var/(.+)$', '\2', $str);
于 2011-07-12T20:16:10.253 に答える