{if (bedingung)} then {/if} ersetzen *hilflos*

Kalma

Erfahrenes Mitglied
Hallo,

ich versuche grad eine einfache IF-Funktion im Template zu ersetzen, der Aufruf sieht folgendermaßen aus:

Code:
{if ({$zahl} == 2}
  Zahl ist 2
{/if}

im PHP Teil versuch ich es so:
PHP:
$search_patternIF	= '#'.$this->leftDelimiterF.'if \(?(.*?)\)?'.$this->rightDelimiterF;
$search_patternIF  .= '(.*?)';
$search_patternIF  .= $this->leftDelimiterF.'\/if'.$this->rightDelimiterF.'#isUe';
$replace_IF			= "if(\\1) { echo \\2; }";
if(preg_match($search_patternIF, $this->template)) {
				$this->template	= preg_replace($search_patternIF, $replace_IF, $this->template);
}

Meine Fehlerausgabe jedoch lautet:
Parse error: syntax error, unexpected T_IF in /var/www/public/template/include/Template.class.php(175) : regexp code on line 1

Fatal error: preg_replace() [<a href='function.preg-replace'>function.preg-replace</a>]: Failed evaluating code: if({$zahl} == 2) { echo Hallo ; } in /var/www/public/template/include/Template.class.php on line 175

Könnt ihr mir helfen?
mfg
David
 
was steht denn vor dem If? Ich schätze mal da wirst du wahrscheinlich ein semikolon oder eine Klammer... vergessen haben, sonst würd er nicht schon mal sagen

Parse error: syntax error, unexpected T_IF in /var/www/public/template/include/Template.class.php(175) : regexp code on line 1

zur zweiten fehlermeldung hab ich nichts zu sagen, null ahnung
 
Ach ich weiß warum:

if({$zahl} == 2)

Das {$zahl} ist natürlich nicht in Ordnung. Ich müsste dann vorher wieder diesen Platzhalter ersetzen. Wie am Besten?
 
Zurück