Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> parser plikow, cos w rodzaju ini
ukasz20
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 28.06.2007

Ostrzeżenie: (0%)
-----


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
)

Ten post edytował ukasz20 28.03.2011, 16:23:19
Go to the top of the page
+Quote Post
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Skorzystaj z YAML-a - dosyć podobny w składni. Masz nawet gotowe biblioteki do jego parsowania.

Ten post edytował Crozin 28.03.2011, 16:54:04
Go to the top of the page
+Quote Post
ukasz20
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 28.06.2007

Ostrzeżenie: (0%)
-----


podziekowal bardzo. myslalem wczesniej nad xmlem ale nie jest tak prosty i przejrzysty jak yaml biggrin.gif
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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ę.
Go to the top of the page
+Quote Post
ukasz20
post
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 28.06.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
Fifi209
post
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Wystarczy wbudowany simplexml


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Crozin
post
Post #7





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Trochę tego masz: http://pl.php.net/manual/en/refs.xml.php
DOM będzie jednym z sensowniejszych rozwiązań tutaj.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 15:44