Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: System szablonów - parsowanie języka smarty
Forum PHP.pl > Forum > PHP
starach
Kod
{$zmienna}
{$tablica.pole}
{$tablica.tablica.pole}

Witam.
Ma ktoś pomysł jak najprościej zamienić powyższe na wartości za tablicy $data gdzie:
  1. <?php
  2. $data['zmienna'] = 'tekst';
  3. $data['tablica']['pole'] = 'wartość pola';
  4. $data['tablica']['tablica']['pole'] = 'kolejne pole';
  5. ?>

Na początku pobieram wszystkie tagi {***} i wykonuje instrukcje blokowe (foreach, if, etc.)
Ze zmiennymi nie miałbym problemu gdyby nie założenie że ma być możliwość używania tablic jako zmiennych.
Podpowiedzcie mi, naprowadźcie mnie na właściwy sposób rozwiązania tego.
sticker
1) pobierz liste zmiennych i zacznij iterować,
1a) jesli jest na liscie jeszcze nie przerobiona zmienna to pobierz i przetwórz jak poniżej jeśli nie to 8)
2) zapisz zmienną pod tymczasową poprzez '$zmienna'
3) usuń $ ze zmiennej
4) explode z "." jako token na każdej ze zmiennych
5) w zależności ile elementów uzyskałeś stwórz zmienną $data z takimi kluczami jak uzyskałeś
6) przypisz do powstałej zmiennej wartość $zmienna
7) skocz do 1a.
8) dziekuje

apropo ob nie zrozumiałem tu moze być tablica w środku {$tablica.tablica.pole} ? jeśli tak to jeszcze przed explodowaniem sprawdź czy array jesli tak to dopisz klicz do $data[](+)["ten klucz]
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.