PHP список игроков из status

iSe7en

Участник
Сообщения
209
Реакции
111
Здравствуйте, мне необходимо получать список игроков и их steamid с сервера через php.

Через команду status получаю информацию, обрезаю ненужные строчки и получаю массив такого вида:
PHP:
Array
(
    [0] => #  2 1 "Player 1" STEAM_1:0:123456 00:22 22 0 active 80000 192.168.1.1:27005
    [1] =>#  3 1 "Player 2" STEAM_1:0:654321 00:11 11 0 active 80000 192.168.1.1:27005
)

Помогите правильно разбить массив, что бы можно было извлечь имя, ид, время и.т.д у каждого игрока.
 
Последнее редактирование:

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
PHP:
<?

    $ctrl = new rcon($ip,$port,"rcon_pass");
    $ctrl->Auth();
    $stdata = $ctrl->rconCommand("status");
    $array=explode("#", $stdata);
    {
        ?>
        <table border="0" cellspacing="2" cellpadding="1" width="99%">
            <tbody>
            <tr>
                <td>№</td>
                <td>Слот</td>
                <td>Ник</td>
                <td>STEAMID</td>
                <td>Время игры</td>
                <td>Пинг</td>
                <td>loss</td>
                <td>state</td>
                <td>rate</td>
                <td>Адрес</td>
                </tr>
            <?
        do
        {
            preg_match_all('#"(.*(?<=\\\)"*.*?)"|"([^"]+?)"#uis', $array[$n], $out); // Вырезка ника
            $out[0] = str_replace('"', '', $out[0]); // Удаление кавычек
            $name = $out[0]['0'];
            $array[$n] = preg_replace_callback('~"(.*?)"~s',create_function('$matches','return preg_replace("~\s*~s", "", $matches[0]);'),$array[$n]); // Очистка пробелов в нике
            list($id2, $id, $userid, $_lon, $uniqueid, $connected, $ping, $loss, $state, $rate, $adr) = preg_split("~\s* \s*~", $array[$n]); // Присваивание ячеек переменным
         
        
            if($adr > null)
            {
                ?>
                    <tr bgcolor="#EAEAEA" onClick="open_close('<? echo $uniqueid ;?>')" style="cursor:pointer;">
                    <td><? echo $id; ?></td>
                    <td><? echo $userid; ?></td>
                    <td><? echo $name;?></td>
                    <td><? echo $uniqueid; ?></td>
                    <td><? echo $connected; ?></td>
                    <td><? echo $ping; ?></td>
                    <td><? echo $loss; ?></td>
                    <td><? echo $state; ?></td>
                    <td><? echo $rate; ?></td>
                    <td><? echo $adr; ?></td>
                    </tr>
                    <tr>
            <?
            $n += 1;
        }
        while ($array[$n] > null);
    ?>
            </tbody>
        </table>
        <br />
    <?
    }

?>

Примерный набросок
 
Сверху Снизу