Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] własne smarty - instrukcje warunkowe if else
kacpero1094
post 27.06.2010, 18:07:38
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 22.12.2008

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


Robię sobie własny skrypt typu Smarty.
Chciałem zrobić coś takiego, żeby można było wstawić do klasy obsługującej to zmienne typu boolean, a później na podstawie tych zmiennych skrypt wstawiałby kod wg. tego schematu:
  1. {IF zmienna [kod_true] ELSE [kod_false]}

Napisałem do funkcji zamieniającej taki kod:
  1. preg_match_all('#\{IF ([a-zA-Z0-9_]+) \[(.*)\] ELSE \[(.*)\]\}#',$this->code,$ifelse);
  2. $i=0;
  3. while (count($ifelse[0])<$i) {
  4. if ($this->ifelse[$ifelse[1][$i]]==true) {
  5. $this->code=str_replace($ifelse[0][$i],$ifelse[2][$i],$this->code);
  6. } else {
  7. $this->code=str_replace($ifelse[0][$i],$ifelse[3][$i],$this->code);
  8. }
  9. $i++;
  10. }

I nie działa. Tzn. nie zamienia nic. Pozostawia tak jak wpisałem.
Ale jak zrobiłem taką funkcję:
  1. public function test() {
  2. preg_match_all('#\{IF ([a-zA-Z0-9_]+) \[(.*)\] ELSE \[(.*)\]\}#',$this->code,$array);
  3. print '<pre>' . htmlspecialchars(print_r($array,1)) . '</pre>';
  4. }

To wyświetliło wszystko pięknie na dole. Czyli znajduje, ale... ?
Proszę o pomoc sadsmiley02.gif


--------------------
kacperkolodziej.pl
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 16:40