用括号解析ini文件

时间:2015-07-22 13:29:22

标签: php parsing ini

我有一个包含括号( )的.ini文件 正如php.net使用parse_ini_file()函数推荐我的parse.ini文件,所以让我们说我的代码如下:

$ini = parse_ini_file('files/models.ini');

然后错误看起来像:

Warning: syntax error, unexpected '(' in files/models.ini on line 4 in \index.php on line 48

这是第4行的文字

00name1=100 08/82-11/90 (443/445) Typový sešit [V] [27]

问题是我从外部获取此文件,我无法更改它,

从多个网站我注意到有些单词在ini文件中有特殊含义,例如" null" "真" "无" "是"但这不是这种情况。

所以,有人可以告诉我我做错了什么,或者这是不可能有任何解决办法吗?

1 个答案:

答案 0 :(得分:7)

您可以使用INI_SCANNER_RAW选项:

$ini = parse_ini_file('files/models.ini', false, INI_SCANNER_RAW);

来自documentation

  

如果提供了INI_SCANNER_RAW,则不会解析选项值。

我的测试结果:

$ php test.php
array(1) {
  ["foo"]=>
  string(9) "foo (bar)"
  ["00name1"]=>
  string(49) "100 08/82-11/90 (443/445) Typový sešit [V] [27]"
}