Парсер INI

Мгновенный разбор и преобразование конфигурационных файлов INI в JSON. Поддержка секций, комментариев и значений в кавычках. Вся обработка выполняется в вашем браузере.

Мгновенный разбор Поддержка секций Обработка на стороне клиента
Разобранный JSON появится здесь...

Как использовать парсер INI

1

Вставьте INI

Введите или вставьте содержимое конфигурации INI в область ввода.

2

Разбор

Нажмите кнопку «Разобрать» для преобразования INI в JSON.

3

Копирование JSON

Просмотрите сгенерированный вывод JSON и скопируйте его в буфер обмена.

Что такое файл INI?

INI-файлы — это простой текстовый формат конфигурационных файлов, широко используемый в Windows и во многих приложениях. Они используют простую структуру из секций, ключей и значений, которую легко читать как людям, так и машинам.

Структура INI

Секции

Обозначаются заголовками [имя_секции] для группировки связанных настроек

Пары «ключ-значение»

Простые назначения ключ = значение внутри секций или глобально

Комментарии

Строки, начинающиеся с ; или #, обрабатываются как комментарии

Часто задаваемые вопросы

Какие возможности INI поддерживаются?

Этот парсер поддерживает секции, пары «ключ=значение», комментарии (с использованием ; или #), строковые значения в кавычках и многострочные значения. Также выполняется определение логических и числовых типов.

Можно ли разбирать INI-файлы, специфичные для PHP?

Этот парсер обрабатывает стандартный формат INI. Некоторые специфичные для PHP расширения, такие как подстановка констант и специальные операторы, могут не поддерживаться.

Как обрабатываются дубликаты ключей?

При обнаружении дубликатов ключей в одной секции приоритет имеет последнее значение. Это соответствует стандартному поведению разбора INI.

Где на самом деле используется формат INI?

Классические места: php.ini (вся конфигурация движка PHP), .gitconfig, наследие win.ini на Windows, записи .desktop на Linux, а также множество игр и десктопных приложений. Корни формата уходят в 1960–70-е годы, поэтому синтаксис везде немного различается — секции, пары key=value и комментарии с точкой с запятой образуют стабильное ядро.

Типизированы ли значения в INI?

Нет — всё является строкой; типы — это соглашение на стороне потребителя. Функция PHP parse_ini_file() приводит true/on/yes/1 и false/off/no/0 к логическим значениям (это задокументированное поведение), преобразует значения, похожие на числа, в целые и дробные, а остальное оставляет строками. Значение в кавычках ('1') в PHP сохраняется как строка. Этот парсер показывает исходные значения в том виде, в каком они записаны.

Как работают секции и вложенные ключи в INI-файлах?

[section] начинает секцию, которая охватывает все последующие ключи до следующего заголовка — блоки [PHP] и [mail function] в php.ini устроены именно так. Вложенность имитируется ключами с точками (database.host = localhost) или именами секций вида [database.pool], поскольку сам формат имеет только один уровень. Глубоко вложенные данные — признак того, что вы переросли INI и вам нужен TOML или YAML.

Как в INI обрабатываются специальные символы и экранирование?

Базовый формат почти не определяет escape-последовательностей — значения берутся буквально до конца строки. На практике: двойные кавычки группируют значения, содержащие пробелы, и являются единственным переносимым способом сохранить пробелы в начале или конце значения; интерполяция ${VAR} есть в одних реализациях (например, systemd) и отсутствует в других; а начинается ли комментарий с ; или # в середине строки, зависит от использующего парсера.

В чём разница между файлами INI и .env?

.env — это плоское подмножество INI: строки KEY=value, без секций, которые читают библиотеки dotenv на десятке языков, следуя методологии конфигурации 12-Factor App. Файлы INI опираются на секции и читаются конкретными приложениями, а не являются универсальным соглашением. Значения в .env почти всегда представляют собой строки, подставляемые в переменные окружения, тогда как потребители INI часто применяют собственные правила типизации.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}

Авторитетные источники

Первоисточники, лежащие в основе этого инструмента, — официальные стандарты и спецификации, а не пересказы из вторых рук.