Проанализируйте ответ phptelnet cmd, чтобы отфильтровать конкретный ответ на данные

#parsing #cmd #output #telnet

Вопрос:

Я играю с небольшим проектом, который подключается к удаленному устройству через php telnet, и я хочу проанализировать результат/вывод cmd на php, чтобы я мог ПЕЧАТАТЬ на html или php конкретные данные из необработанного ответа

Я использую класс phptelnet.

Поэтому для подключения к удаленному устройству я использую следующий код ниже:

 /*------------ Init conection with device -------------*/    $telnet = new PHPTelnet();  $telnet-gt;show_connect_error=0;   $result = $telnet-gt;Connect($ip, $port_telnet, $user, $pass, false);   // sends first cmd   $cmd0[0] = "show sys mem";   $telnet-gt;DoCommand($cmd0, $result);   echo $result;  

Это приводит к следующему результату

 show sys mem   MemTotal: 497252 kB MemFree: 352012 kB Buffers: 0 kB Cached: 52396 kB SwapCached: 0 kB Active: 59612 kB Inactive: 49548 kB Active(anon): 56764 kB Inactive(anon): 0 kB Active(file): 2848 kB Inactive(file): 49548 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 56760 kB Mapped: 14740 kB Shmem: 0 kB Slab: 3808 kB SReclaimable: 712 kB SUnreclaim: 3096 kB KernelStack: 880 kB PageTables: 484 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 248624 kB Committed_AS: 326908 kB VmallocTotal: 516096 kB VmallocUsed: 6352 kB VmallocChunk: 509180 kB  

Теперь я немного теряюсь в том, как это проанализировать, чтобы я мог отфильтровать определенные данные из ответа cmd и вызвать эти конкретные данные, возможно, в другом cmd или отобразить их в форме в html или php

Например, сначала проанализируйте его как

 MemTotal: 497252 kB  MemFree: 352012 kB  Buffers: 0 kB  Cached: 52396 kB  SwapCached: 0 kB  Active: 59612 kB  Inactive: 49548 kB  Active(anon): 56764 kB  Inactive(anon): 0 kB  Active(file): 2848 kB  Inactive(file): 49548 kB  Unevictable: 0 kB  Mlocked: 0 kB  SwapTotal: 0 kB  SwapFree: 0 kB  Dirty: 0 kB  Writeback: 0 kB  AnonPages: 56760 kB  Mapped: 14740 kB  Shmem: 0 kB Slab: 3808 kB SReclaimable: 712 kB SUnreclaim: 3096 kB KernelStack: 880 kB PageTables: 484 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 248624 kB Committed_AS: 326908 kB VmallocTotal: 516096 kB VmallocUsed: 6352 kB VmallocChunk: 509180 kB  

Так , например, если я хочу напечатать только вывод MemTotal в форме в html, просто вызвав конкретный результат, например

 $mem_total = $result['MemTotal'];  

Но это не работает, просто дает мне пустой результат.

У кого-нибудь есть какие-либо идеи о том, как сначала правильно проанализировать полный ответ cmd и разделить все ответы на данные по отдельности?