Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: parser plikow
Forum PHP.pl > Forum > PHP
ukasz20
witam

napisalem maly parser ktory wczytuje go do tablicy.
plik ktory parsuje wyglada tak:

/system/logging action=memory disabled=false topics=error
/system/logging action=echo disabled=false topics=critical
/system/ntp/client enabled=true mode=unicast mode=unicast primary-ntp=87.99.32.29 secondary-ntp=217.17.34.82
/snmp/community name=ziomale address=0.0.0.0/0 read-access=true
/snmp enabled=true contact=some_compasny
#this is a sample comment
/interface/bridge/settings use-ip-firewall=true
/system/clock time-zone-name=Europe/Warsaw

obecnie robie explode po bialych znakach. /system/logging jest brane jako nazwa klucza. action=memory disabled=false topics=error sa brane jako wpisy w tablicy /system/logging disabeld => false itd.

[system/logging] => Array
(
[0] => Array
(
[action] => memory
[disabled] => false
[topics] => info,!wireless,!debug,!route,!ospf
)

[1] => Array
(
[action] => memory
[disabled] => false
[topics] => warning
)

[2] => Array
(
[action] => memory
[disabled] => false
[topics] => error
)

[3] => Array
(
[action] => echo
[disabled] => false
[topics] => critical
)

)


potrzebuje zrobic tak zeby praser lapal to co jest miedzy "" z tym ze miedzy cudzyslowiami moga znalezc sie klucze i wartosci takie same jak te ktore je definiuja np:

/system/logging action=memory disabled=false topics="error warning action=asd"

[2] => Array
(
[action] => memory
[disabled] => false
[topics] => error warning action=asd
)
Crozin
Skorzystaj z YAML-a - dosyć podobny w składni. Masz nawet gotowe biblioteki do jego parsowania.
ukasz20
podziekowal bardzo. myslalem wczesniej nad xmlem ale nie jest tak prosty i przejrzysty jak yaml biggrin.gif
Crozin
Jeżeli ten plik(i) konfiguracyjny będzie bardziej rozbudowany koniecznie dodaj przynajmniej alternatywę w postaci XML-a. Format ten chociażby ze względu na dostępność walidatorów bardzo ułatwia pracę.
ukasz20
ok dzieki. narazie nie planuje jakis kosmosow ale jak cos takiego bedzie to albo baza albo xml

a jaki parser xmla bys polecil. kurcze jednak sie zdecyduje na xmla poniewaz moge napisac swoj schemat i walidowac to a w jsonie i yamlu nie moge sad.gif
Fifi209
Wystarczy wbudowany simplexml
Crozin
Trochę tego masz: http://pl.php.net/manual/en/refs.xml.php
DOM będzie jednym z sensowniejszych rozwiązań tutaj.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.