"4009"
{
"name" "Demon Blood Armor"
"prefab" "dota_item"
"item_slot" "armor"
"item_rarity" "uncommon"
"image_inventory" "econ/items/axe/demon_blood_armor"
"model_player" "models/items/axe/demon_blood_armor.mdl"
"set_parent_skin" "1"
"item_set" "axe_demon_blood"
"used_by_heroes"
{
"npc_dota_hero_axe" "1"
}
"attributes"
{
"kill eater score type"
{
"attribute_class" "kill_eater_score_type"
"value" "0"
}
}
"icon_portrait"
{
"PortraitPosition" "167.273041 -30.888405 184.089783"
"PortraitLookAt" "13.375854 173.726807 359.313354"
"PortraitFOV" "44.000000"
"PortraitFar" "1000.000000"
"PortraitLightPosition" "202.699997 -23.150000 308.170013"
"PortraitLightLookAt" "54.790001 171.699997 0.000000"
"PortraitLightFOV" "69.000000"
"PortraitLightDistance" "377.000000"
"PortraitLightColor" "0.900000 0.900000 0.900000"
"PortraitShadowColor" "0.070000 0.070000 0.070000"
"PortraitShadowScale" "1.000000"
"PortraitGroundShadowScale" "0.300000"
"PortraitAmbientOrigin" "79.070000 84.150002 25.320000"
"PortraitAmbientColor" "0.080000 0.150000 0.150000"
"PortraitAmbientScale" "1.000000"
"PortraitSpecularColor" "0.970000 0.070000 0.090000"
"PortraitSpecularDirection" "0.000000 0.000000 -1.000000"
"PortraitSpecularPower" "16.000000"
"PortraitBackgroundColor1" "1.000000 0.500000 0.500000"
"PortraitBackgroundColor2" "1.000000 0.800000 0.900000"
"PortraitBackgroundColor3" "0.000000 0.000000 0.000000"
"PortraitBackgroundColor4" "1.000000 0.500000 0.500000"
"PortraitBackgroundTexture" "vgui/econ/item_icon_bg"
"PortraitAnimationActivity" "1"
"PortraitAnimationCycle" "0.960000"
"PortraitAnimationRate" "0.000000"
"PortraitHideHero" "0"
}
}
Форум → Программирование → PHP для идиотов → Перегнать что-то в массив
Перегнать что-то в массив
-
Помогите определить что за код, выдран он из конфигурации игры от Valve, и его нужно перегнать в массив.
-
13 октября 2012 г. 22:51, спустя 1 час 34 минуты 26 секунд
двоеточия проебаны, а так жейсонВысокоуровневое абстрактное говно -
-
13 октября 2012 г. 23:26, спустя 22 минуты 13 секунд
А вот нехуя, все на месте.
двоеточия проебаны, а так жейсон -
13 октября 2012 г. 23:28, спустя 2 минуты 7 секунд
ну вставил то ты без двоеточий.
А вот нехуя, все на месте.
двоеточия проебаны, а так жейсонСпустя 12 сек.если ты ваще понл о чем мы тут говорим и о каких двоеточиях.Сапожник без сапог -
14 октября 2012 г. 0:04, спустя 35 минут 39 секунд
таки запятых тоже нетВысокоуровневое абстрактное говно -
14 октября 2012 г. 0:52, спустя 47 минут 57 секунд
json_str_space_str_encode();- а их не слушай… как посоветуют вякого. Вообще развелось тут всяких… -
-
14 октября 2012 г. 13:04, спустя 20 минут 56 секунд
Paktik, вооружись текстовым редактором и делай поиск-с-заменой, пока не получишь нужный массив.ιιlllιlllι унц-унц -
14 октября 2012 г. 13:05, спустя 39 секунд
Paktik, не тупи, тебе уже сказали, расставь двоеточия и запятые да отдай жейсон парсеру, вот тебе и будет массив.Высокоуровневое абстрактное говно -
14 октября 2012 г. 16:19, спустя 3 часа 14 минут 24 секунды
Неведомая хуйня, которая все сделает:
В случае, если имеются эскейпированные символы " в именах или значениях атрибутов, работать не будет$data = <<<DATA
"4009"
{
"name" "Demon Blood Armor"
"prefab" "dota_item"
"item_slot" "armor"
"item_rarity" "uncommon"
"image_inventory" "econ/items/axe/demon_blood_armor"
"model_player" "models/items/axe/demon_blood_armor.mdl"
"set_parent_skin" "1"
"item_set" "axe_demon_blood"
"used_by_heroes"
{
"npc_dota_hero_axe" "1"
}
"attributes"
{
"kill eater score type"
{
"attribute_class" "kill_eater_score_type"
"value" "0"
}
}
"icon_portrait"
{
"PortraitPosition" "167.273041 -30.888405 184.089783"
"PortraitLookAt" "13.375854 173.726807 359.313354"
"PortraitFOV" "44.000000"
"PortraitFar" "1000.000000"
"PortraitLightPosition" "202.699997 -23.150000 308.170013"
"PortraitLightLookAt" "54.790001 171.699997 0.000000"
"PortraitLightFOV" "69.000000"
"PortraitLightDistance" "377.000000"
"PortraitLightColor" "0.900000 0.900000 0.900000"
"PortraitShadowColor" "0.070000 0.070000 0.070000"
"PortraitShadowScale" "1.000000"
"PortraitGroundShadowScale" "0.300000"
"PortraitAmbientOrigin" "79.070000 84.150002 25.320000"
"PortraitAmbientColor" "0.080000 0.150000 0.150000"
"PortraitAmbientScale" "1.000000"
"PortraitSpecularColor" "0.970000 0.070000 0.090000"
"PortraitSpecularDirection" "0.000000 0.000000 -1.000000"
"PortraitSpecularPower" "16.000000"
"PortraitBackgroundColor1" "1.000000 0.500000 0.500000"
"PortraitBackgroundColor2" "1.000000 0.800000 0.900000"
"PortraitBackgroundColor3" "0.000000 0.000000 0.000000"
"PortraitBackgroundColor4" "1.000000 0.500000 0.500000"
"PortraitBackgroundTexture" "vgui/econ/item_icon_bg"
"PortraitAnimationActivity" "1"
"PortraitAnimationCycle" "0.960000"
"PortraitAnimationRate" "0.000000"
"PortraitHideHero" "0"
}
}
DATA;
$result = '{'.preg_replace('/((:\s"[^"]+")|})(?=\s*[^}\s])/s','\1,',preg_replace('/^\s*("[^"]+")\s+(("[^"]+")|{)$/m','\1: \2',$data)).'}';
var_dump(json_decode($result, true));
Кстати да, регулярки нужно запретить на законодательном уровнеWork, buy, consume, die -
14 октября 2012 г. 16:46, спустя 26 минут 24 секунды
Кстати да, регулярки нужно запретить на законодательном уровне
почему?Сапожник без сапог -
14 октября 2012 г. 17:28, спустя 42 минуты 13 секунд
потому что нихнена не понятно, вот взгялув на предпоследнюю строку в коде с ходу можешь сказать, что оно делает, и как оно работает? =)Work, buy, consume, die -
14 октября 2012 г. 19:12, спустя 1 час 43 минуты 40 секунд
Nyaah, а чё юзать тогда? да и комментарии никто не отменял… -
14 октября 2012 г. 19:54, спустя 42 минуты
Nyaah, да блин, почему регулярка без каментов? незачетιιlllιlllι унц-унц
Пожалуйста, авторизуйтесь, чтобы написать комментарий!