我有一个包含括号的.ini文件( )
作为php.net recomend我用parse_ini_file()函数调用我的parse.ini文件,所以让我说我的代码如下:
$ini = parse_ini_file('files/models.ini');
Run Code Online (Sandbox Code Playgroud)
然后错误看起来像:
Warning: syntax error, unexpected '(' in files/models.ini on line 4 in \index.php on line 48
Run Code Online (Sandbox Code Playgroud)
这是第4行的文字
00name1=100 08/82-11/90 (443/445) Typový sešit [V] [27]
Run Code Online (Sandbox Code Playgroud)
问题是我从外部获取此文件,我无法更改它,
从多个站点我注意到一些单词在ini文件中有特殊含义,如"null""true""no""yes"但这不是这种情况.
所以,有人可以告诉我我做错了什么,或者这是不可能的有任何解决方法吗?
您可以使用以下选项INI_SCANNER_RAW:
$ini = parse_ini_file('files/models.ini', false, INI_SCANNER_RAW);
Run Code Online (Sandbox Code Playgroud)
从文档:
如果提供了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]"
}
Run Code Online (Sandbox Code Playgroud)