Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] własne smarty - instrukcje warunkowe if else
kacpero1094
post
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 (IMG:style_emoticons/default/sadsmiley02.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ramol
post
Post #2





Grupa: Zarejestrowani
Postów: 21
Pomógł: 5
Dołączył: 19.07.2005

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


No to już nie jest z tego kodu, który przesłałeś na forum bo nie ma tam preg_replace a to Ci właśnie leży (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował ramol 27.06.2010, 18:44:54
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: 7.10.2025 - 14:46