Я полностью застрял в том, как начать разбор таких файлов на PHP. Это своего рода массивы с переменным количеством суб-массивов. https://developer.valvesoftware.com/wiki/KeyValues
Файл примера.
"itembuilds" { "author" "Valve" "hero" "npc_dota_hero_axe" "Title" "Recommended items for Axe" "Items" { "#DOTA_Item_Build_Starting_Items" { "item" "item_stout_shield" "item" "item_flask" "item" "item_tango" "item" "item_courier" } "#DOTA_Item_Build_Early_Game" { "item" "item_boots" "item" "item_ring_of_health" "item" "item_tango" "item" "item_tango" } "#DOTA_Item_Build_Core_Items" { "item" "item_blink" "item" "item_vanguard" } "#DOTA_Item_Build_Luxury" { "item" "item_heart" "item" "item_blade_mail" } } }
Другой пример файла.
"dota_shops" { "consumables" { "item" "item_clarity" "item" "item_tango" "item" "item_flask" "item" "item_smoke_of_deceit" "item" "item_tpscroll" "item" "item_dust" "item" "item_courier" "item" "item_flying_courier" "item" "item_ward_observer" "item" "item_ward_sentry" "item" "item_bottle" } "something" { "Key" "value" "Key2" "value" } }
материалы"dota_shops" { "consumables" { "item" "item_clarity" "item" "item_tango" "item" "item_flask" "item" "item_smoke_of_deceit" "item" "item_tpscroll" "item" "item_dust" "item" "item_courier" "item" "item_flying_courier" "item" "item_ward_observer" "item" "item_ward_sentry" "item" "item_bottle" } "something" { "Key" "value" "Key2" "value" } }
Поздний ответ, но просто увидел это. Данные, о которых идет речь, находится в (Valve Data Format) [https://developer.valvesoftware.com/wiki/KeyValues], также называемом форматом KeyValues и очень напоминающем JSON.
Примерно год назад я написал этот скрипт, который может преобразовывать данные VDF в действительный JSON. Вы можете использовать его один раз и хранить сгенерированный JSON или называть его в любое время, когда вам нужен JSON из VDF.
Там был онлайн-я нашел. http://rossengeorgiev.github.io/vdf-parser/
Репо имеет js и python-реализации, не должно быть слишком сложно переносить их на PHP.