parse_ini_file аналог

Wolf56732

Новичок
Прощу помощи в написание собственной функции аналог parse_ini_file
у меня есть такой кусок кода, но она не выполняет то что нужно и выдает всё не так как
функция parse_ini_file, мне нужно что бы они работали аналогично, подскажите,направте в сторону как это реализовать)
 

Вложения

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
выкладываем код сюда, или на гитхаб или подобные сервисы, или едем в корзину
 

AmdY

Пью пиво
Команда форума
Прощу помощи в написание собственной функции аналог parse_ini_file
у меня есть такой кусок кода, но она не выполняет то что нужно и выдает всё не так как
функция parse_ini_file, мне нужно что бы они работали аналогично, подскажите,направте в сторону как это реализовать)
Ваш код вовсе не будет работать, если бы бользовались нормальной IDE сразу бы подсветились ошибки.
К тому же, почему она должна друг работать как ini, если вы даже строки сплитите по ---, а не = как в ini файлах?
Разберитесь в формате ini - там есть секции, есть вложенные секции, есть несколько видов комментариев, есть спецсимволы с экранированием. https://en.wikipedia.org/wiki/INI_file

p.s. Как писали выше, вы даже с оформлением поста и тегом для кода не сумели разобраться, сомневаюсь что у вас в программировании получится. Наймите программиста и не мучайтесь.
 

a1exey

Новичок
Я что-то подобное писал для парсинга языковых файлов, вот пример кода:

Код:
$file = "my_file.ini";
$values = array();
if(file_exists($file) && ($dictionary = file_get_contents($file)))
{
    preg_match_all('/^(?!;)(.*)\s=\s(.*)$/m', $dictionary, $translate);
    if(!empty($translate[1]) && !empty($translate[2]))
        $values[$translate[1]] = $translate[2];
}
В результате получите ассоциативный массив $values где ключом будут названия переменных, а значением их значения, пример ini файла:
Код:
[license]
license_key = 39CA-8CCD-E51A33-361D36;

[database]
;Сервер базы данных
db_server = localhost;
строка начинающаяся с ; будет считаться комментарием и не учитывается при парсинге.
 
Сверху