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
kacpero1094
post
Post #2





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

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


Poprawiłem na:
  1. while ($i<count($ifelse[0])) {

roztargnienie (IMG:style_emoticons/default/sciana.gif)
Ale teraz wywala taki błąd:

Parse error: syntax error, unexpected '[', expecting '(' in /media/UbuPart/Kacper/projekt/3/template.class.php(59) : regexp code on line 1

Fatal error: preg_replace() [<a href='function.preg-replace'>function.preg-replace</a>]: Failed evaluating code: (Array['logged']) ? '<form action=\"/logowanie\" method=\"post\"><input type=\"text\" class=\"field\" name=\"nick\" /><br /><input type=\"password\" class=\"field\" name=\"haslo\" /><br /><input type=\"submit\" value=\"zaloguj\" class=\"button\" /><p><a href=\"/odzyskaj-haslo\">odzyskaj hasło</a> | <a href=\"/rejestracja\">rejestracja</a></p></form>' : 'Witaj' in /media/UbuPart/Kacper/projekt/3/template.class.php on line 59

Ten post edytował kacpero1094 27.06.2010, 18:40:43
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: 15.10.2025 - 05:37