У меня есть существующий PHP код для синтаксического анализа через файл конфигурации текст и сохранить каждую строку ввода как пары ключей => значение в массиве, например, текстовый файл:PHP прочитал несколько строк из текстового файла
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 для этого? кто-нибудь понял?
почему бы не хранить фактическое PHP-переменные '$ key1 = 'значение 1 '; '.. then use include \ require –
также обратите внимание, что код сценария может пересекать многие строки со многими идентификаторами, мой пример - просто очень простой пример. Я хотел бы получить общее представление о том, как подойти к этой проблеме. –
обычно у вас нет этой проблемы, потому что ее не так, как вы храните переменные –