Hallo,
ich stehe momentan total auf dem Schlauch.
Ich bin dabei eine Templateklasse zu programmieren und dabei möchte ich ein Extra Feature einbauen.
Und zwar möchte ich in die Templates If-Schleifen einbauen.
Diese sollen einen Text ausgeben, bzw. falls false eben nicht.
Und zwar habe ich mir das ganze so gedacht:
In der HTML Datei steht folgendes:
[if(123)]Leider ist ein Fehler aufgetreten![/if123]
Nun setze ich per PHP Script die If-Schleife sozusagen auf "True".
Das mache ich wie folgt:
$tpl->ifclause(123);
Damit wird dann einfach das [if(123)] und das [/if(123)] entfernt.
Das funktioniert soweit ganz gut.
Doch wie gehe ich vor, wenn das nicht per Script auf "True" gesetzt wurde?
Sprich, wie schneide ich den Teil dann einfach weg, sodass nichts ausgegeben wird?
Mit strpos etc. wird das relativ schwer, da die "123" irgendeine beliebige Zahl sein kann UND auch ein Text o.Ä. sein kann.
außerdem können beliebig viele dieser "If-Schleifen" in einem Template vorkommen.
Bis jetzt gehe ich wie folgt vor:
$input entspricht dem Text der durchfließt!
$this->ifc ist die Variable mit den auf true gesetzten Werten (in unserem Fall 123)
Was jemand, wie ich da weitermachen kann?
Vielen dank und LG
emptynick
ich stehe momentan total auf dem Schlauch.
Ich bin dabei eine Templateklasse zu programmieren und dabei möchte ich ein Extra Feature einbauen.
Und zwar möchte ich in die Templates If-Schleifen einbauen.
Diese sollen einen Text ausgeben, bzw. falls false eben nicht.
Und zwar habe ich mir das ganze so gedacht:
In der HTML Datei steht folgendes:
[if(123)]Leider ist ein Fehler aufgetreten![/if123]
Nun setze ich per PHP Script die If-Schleife sozusagen auf "True".
Das mache ich wie folgt:
$tpl->ifclause(123);
Damit wird dann einfach das [if(123)] und das [/if(123)] entfernt.
Das funktioniert soweit ganz gut.
Doch wie gehe ich vor, wenn das nicht per Script auf "True" gesetzt wurde?
Sprich, wie schneide ich den Teil dann einfach weg, sodass nichts ausgegeben wird?
Mit strpos etc. wird das relativ schwer, da die "123" irgendeine beliebige Zahl sein kann UND auch ein Text o.Ä. sein kann.
außerdem können beliebig viele dieser "If-Schleifen" in einem Template vorkommen.
Bis jetzt gehe ich wie folgt vor:
PHP:
foreach($this->ifc as $out){
if(@eregi("[if(".$out.")]", $input) && @eregi("[/if(".$out.")]", $input))
{
$input = str_replace("[if(".$out.")]", "", $input);
$input = str_replace("[/if(".$out.")]", "", $input);
}
$this->ifc ist die Variable mit den auf true gesetzten Werten (in unserem Fall 123)
Was jemand, wie ich da weitermachen kann?
Vielen dank und LG
emptynick