Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Parsowanie kodu zmiennych z pliku, wynajdowanie koła na nowo, ale do "własnych" celów
erix
post
Post #1





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Piszę sobie teraz coś w stylu edytora konfiguracji, który bazuje na czystym źródle.

  1. <?php
  2. array('k1'=>'v1', 'k2'=>array('v2k1'=>'v2v1', 'v2k2'=>null))
  3. ?>


I na tego typu kawałkach kodu grzęznę. Wszystko by było ok, gdyby nie było subtablic. Traktować tego eval" title="Zobacz w manualu PHP" target="_manualem nie chcę, nie mam pomysłu na to, aby zrobić z tego uzyteczną tablicę, np:

Kod
k1=>v1
k2=>v2k1=>v2v1
    v2k2=>null


Myślałem, żeby przetworzyć to jak XML, ale tam są przecież nazwy znaczników na początku i na końcu bloku, a tu tylko nawias.
Przyszedł mi jeszcze do głowy pomysł, żeby robić stosy przez nawiasy otwierające/kończące, ale to IMHO niezbyt dobre rozwiązanie, bo wystarczy dać (2+2) jako wartość i już się sytuacja komplikuje... (IMG:http://forum.php.pl/style_emoticons/default/blink.gif)

Ma ktoś jakieś pomysły? Ślęczę nad tym już ładny kawałek czasu i nijak nie mogę tego rozgryźć... (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Cytat
i już się sytuacja komplikuje, bo gdyby jako "klamr" prega użyć array( i ), to wtedy "łapie" za nie ten nawias, co trzeba... ;/


Wcale nie bo pattern złapie tylko (pomijając zmienne) array(!!13!!) czyli cała zawartość nawiasu musi być wcześniej sparsowana. jeżeli wygląda to tak:
Kod
array( a=> array (a=> 1));

Najpierw podmieni " a => 1" na !!1!! i mamy:
Kod
array(a=> array(!!1!!))
array(a=> !!2!!)
array(!!3!!)
!!4!!


Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 9.10.2025 - 18:00