次のようなパスがあります。
/home/duke/aa/servers/**servername**/var/...morefiles...
phpを使用して、パスから「サーバー名」を抽出したい
残念ながら、私はphpにあまり精通していませんが、使用するものを思いつきましたstrstr()
が、パラメーター関数の1つとして5.3が必要なPHPバージョン5.2のみを使用しています。
「servername」を返すコードは何でしょうか?
を使用explode('/', $path)
して、個々のディレクトリに分割できます。その後、どの配列要素がサーバー名であるかを判断するのはあなた次第です(サンプルパスを使用すると、#4になります)。
$parts = explode('/', $path);
echo $parts[4]; // **servername**
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);
$str = '/home/duke/aa/servers/**servername**/var/...morefiles...';
echo preg_replace('$(.+)/servers/(.+)/var/(.+)$', '\2', $str);