我有一个现有的PHP代码来解析文本配置文件并将每个输入行存储为key =>数组中的值对,例如文本文件:
key1 value1
key2 value2
key3 '
if ( foo)
blahblah;
else
blaba;
';
所以key1 value1和key2 value2可以很容易地解析,但key3值实际上是单引号多行脚本代码。
我现有的代码就像
while (!feof($fd)) {
$buffer = fgets($fd, 4096);
$temp = explode(' ', $buffer);
$array[$temp[0]] = $temp[1];
}
但是我如何解析key3并重写与缩进交叉多行的脚本代码。一旦我得到了预期的输入值,我也希望能够以HTML格式输出保留脚本代码格式,这看起来非常重要,看起来preg_match匹配多行,但我认为fgets只能得到一行一次输入,我如何使用preg_match来做到这一点?有人有任何想法吗?