将.properties文件解析为数组

时间:2013-01-09 23:09:31

标签: php parsing

我正在尝试为server.properties文件创建某种GUI,这是针对Minecraft的,文件的布局是这样的;

level-name: world
server-ip: 123.123.123

该文件也可能在单行上有像## properties.file等的东西,这可能会增加混乱

所以基本上我需要一种将它分成可读格式的方法

1 个答案:

答案 0 :(得分:1)

这样的事情对你有用:

$file_path = '/some/path/to/properties/file.properties';
$lines = explode("\n", trim(file_get_contents($file_path)));
$properties = array();
foreach ($lines as $line) {
    $line = trim($line);

    if (!$line || substr($line, 0, 1) == '#') // skip empty lines and comments
        continue;

    if (false !== ($pos = strpos($line, ':'))) {
        $properties[trim(substr($line, 0, $pos))] = trim(substr($line, $pos + 1));
    }
}
print_r($properties);
// -> Array
// -> (
// ->     [level-name] => world
// ->     [server-ip] => 123.123.123
// -> )