Парсинг в массив из файла. php

130
25 декабря 2020, 15:20

Есть большой файл бекапа раунда (кс:го) и я пытаюсь его распарсить в массив для дальнейшего вывода. Что это за тип и как его "разобрать". Вот сам код:

"SaveFile"
{
    "timestamp"     "2018-12-13 18:07:03"
    "map"       "de_mirage"
    "round"     "27"
    "FirstHalfScore"
    {
        "team1"     "7"
        "team2"     "8"
    }
    "SecondHalfScore"
    {
        "team1"     "9"
        "team2"     "3"
    }
    "History"
    {
        "NumConsecutiveCTLoses"     "1"
        "LoserBonus"        "1400"
    }
    "RoundResults"
    {
        "round1"        "5"
    }
    "PlayersAliveT"
    {
        "round1"        "1"
        "round2"        "1"
        "round3"        "0"
        "round4"        "2"
    }
    "PlayersAliveCT"
    {
        "round1"        "0"
        "round2"        "1"
        "round3"        "1"
    }
    "Timeouts"
    {
        "Terrorist"     "1"
        "CT"        "1"
    }
    "PlayersOnTeam1"
    {
        "837494724"
        {
            "name"      "BabyTape"
            "kills"     "3"
            "assists"       "3"
            {
                "HeadShotKills"
                {
                    "round22"       "1"
                    "round27"       "1"
                }
            }
            "WeaponPurchases"
            {
                "DefIndex_1"        "1"
            }
        }
    }
}
Answer 1

Нужно допилить, но смысл понятен

    <?php
$fo1 = fopen("parcing.txt", "r"); 
$fd1 = fread($fo1, filesize("parcing.txt")); 
fclose($fo1); 
$ds=str_replace(array("r","n"),"",$fd1);
//$hu[]=$fd1;
//Делаем массивы строк 
$ds=explode("{", $fd1);
//print_r($ds);
    # code...
foreach ($ds as $key => $value) {
    # code...
//preg_match_all('/.*?\{|\}|\s/', $ds, $matches);
    # code...
$db[]=explode("\r\n", str_replace("}", "", $value));
}
//print_r($db);
foreach ($db as $key2 => $value2) {
    # code...
//$new_arr[]= array_diff($value2, array(''));
//}
$result = str_replace(" ", "", $value2);
$df[]=array_diff($result, array(''));
}
foreach ($df as $key3 => $value3) {
    $ft=str_replace('"','',str_replace('""', '+', $value3));
foreach ($ft as $key4 => $value4) {
    $yu=explode("+", $value4);
    $fg[$yu[0]]=$yu[1];
}

}
//$ry=explode("+", $ft);
print_r($df);
print_r($fg);
?>
READ ALSO
Запись ветвления xml в массив

Запись ветвления xml в массив

Есть в XML ветвления, например: "genre" и "country", у которых "дети" с названием "name"В рамках учебного курса хочу записать все жанры фильма в один массив,...

114
Обращение к базе данных MySQL

Обращение к базе данных MySQL

Собственно вопрос в том , как сделать обращение в баззу данных при помощи браузераЯ знаю ,что это делается при помощи php (запросы в MySQL) и javascript(делаем...

125
Связать react js и php. Возможно?

Связать react js и php. Возможно?

Начал изучать react js, node jsТакая мысль пришла

137
MySQLi должно возвращает одно значение

MySQLi должно возвращает одно значение

В классе реализую метод который должен возвращать одно значениеМеня похоже заклинило нужна подсказка

118