Zdravím!

Potřeboval bych z mikrotiku získat informace a ty pak v php zpracovat. Výstup už mám hotový, jen mi dělá problém formát výstupu - např. pomocí /system script print brief dostanu dobře přehlednou tabulku, tu ale potřebuju rozdelit do dvojrozměrného pole a to už je problém. Samozřejmě by šly přebytečné mezery smazat a dělit to podle nich, ale v případě výskytu comentu by to nebylo to nejlepší řešení. Další možnost mě napadlo /system script print value-list ale to mi na výstup vypíše pouze 2 ze 3 scriptů (netuším proč). Nejlepší by bylo nechat vypsat např z /system script print value-list pouze řádek name (nebo jiný požadovaný řádek). Lze něco podobného udělat? Scriptování i php se zatím pouze učím, tak sem nou mějte prosím trpělivost. :)

Doufám, že jsem napsal srozumitelně co potřebuji.

Používám MikroTik RouterOS 3.10

Z toho tabulkového zobrazení bych to vyzobal pomocí substr(). Ale musíš si správně odladit začátky jednotlivých řetězců a jejich délky. Případně toto můžeš automaticky nadetekovat pomocí zjištění pozic nadpisů sloupců tabulky (strpos()).

o 5 dní později

Díky za tip.. Určitě vyzkouším.

Mě napadlo něco jako:

$string = ereg_replace(" +"," ", $string);

$pole_bunek = explode (" ", $string);

$hledej = Array ("name=(^.+$)", "owner=(^.+$)", "policy=(^.+$)", "run-count=^[0-9]*$");

for ($x=0; $x<count($pole_bunek); ++$x){

for ($y=0; $y<count($hledej); ++$y){

$a = strpos ($pole_bunek[$x], $hledej[$y]);

if ($a !== false){

echo ($pole_bunek[$x]."--".$hledej[$y]."<br />");

}

}

}

$string - výpis z mikrotiku (/system script print without-paging)

$pole_bunek - nejdřív odstraním přebytečné mezery a pak pak podle nich rozdělím řetězec do pole.

$hledej - pole části textu a regulárních výrazů podle kterých chci hledat. Tady právě nevím jaká je zápis a jestli lze kombinovat regulární výraz spolu s textem - jak se odděluje. Co jsem pochopil tak jeden znak se odděluje \"znak", ale psát \n\a\m\e je divný.

Je nějaký způsob jak naznačit že právě začíná/končí prostý text nebo regulární výraz? Je tohle vůbec rozumný způsob řešení?

o 13 dní později

Při použití API se ti to bude vracet již jako pole. Moc pěkně se s tím dělá a dostaneš z toho prakticky cokoli ...

o 9 dní později

Při použití API se ti to bude vracet již jako pole. Moc pěkně se s tím dělá a dostaneš z toho prakticky cokoli ...

Díky, přesně pomocí API to vyřešil kolega a funguje to ne výbornou.

📡 Telekomunikace.cz