Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyrażenia regularne.
Forum PHP.pl > Forum > PHP
Liko
Witam.

Mam pewien problem z wyrażeniami regularnymi, które u mnie starszanie kuleją. Otóż robie "configa" w tagach podobnych bo XML'a, a raczej BBCode'u. Mam plik

config
Kod
[module="cookie"]

    [engine]on[/engine]

    [stats]off[/stats]

[/module]

[module="session"]

    [engine]on[/engine]

    [stats]on[/stats]

    [info]Session Handler[/info]

[/module]


No i tu się zaczynają schodzy. Potrzebuje wyrażenia regularnego, a raczej także kodu, który będzie potrafił zrobić coś takiego:

1. Odczytuje zawartość pliku. [Zrobione]
2. Stworzenie tablic z wartościami. Tablice mają nazwe parametru podanego w tagu "module". Czyli jeśli mamy:
Kod
[module="session"]

    [engine]on[/engine]

    [stats]on[/stats]

    [info]Session Handler[/info]

[/module]


To ma stworzyć tablicę "session" z indeksami: engine, stats, info. Każdy element musi mieć wartość, która znajduje się pomiędzy tagami.
[php:1:7b3863a5ef]<?php

echo $session['engine']; // powinno wyswietlic "on"
echo $session['stats']; // powinno wyswietlic "on"
echo $session['info']; // powinno wyswietlic "Session Handler"

?>[/php:1:7b3863a5ef]

Myślę, że napisałem to jasno. Prosił bym jeszcze o linki do ston gdzie można nauczyć się wyrażen regularnych "PERL'a", bo zwykłe to umiem ale chyba tutaj nanic się nie przydadzą.

Dziękuje i pozdrawiam.
scanner
kombinujesz Kolego jak łysy koń pod górkę
Nie wiem po grzyba robić coś w ten sposób.
Configi trzymać IMHO najlepiej w:
- pliku php z odpowiednimi tablicami
- pliku XML
- pliku ini -> http://pl2.php.net/manual/pl/function.pars...se-ini-file.php

(zakładam, ze w momencie parsowania konfiga nie ma jeszcze dostępu do bazy)

W twoim przypadku polecam ten trzeci sposób - zacząłem z nim kombinowąc i wyglądało wszystko bardzo obiecująco (ale brak czasu zastopowoał prace)
Liko
Dzięki za pomoc i chyba właśnie zastosuje ten ostatni sposób bo to co widze w manual'u wygląda naprawde dobrze. Właśnie tego oczekuje.
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.