crab
Cadet 3rd Year
- Registriert
- Jan. 2009
- Beiträge
- 47
Hallo zusammen!
Und zwar gehts es darum, dass ich vor langer Zeit mal ein kleines, selbst erstelltes Template-System von einem Bekannten bekommen, welches ich für div. Webseiten nutze.
Es klappte immer wunderbar (für meine Zwecke), aber seitdem ich von PHP4 zu PHP5 umgestiegen bin habe ich ein Problem.
In PHP4 sah die Template-Klasse noch so aus:
...funktionierte wie gesagt.
Nach der Umstellung auf PHP5 bekam ich wegen dem nachfolgenden Code hinter der Pseudovariable $this-> vermehrt eine Fehlerausgabe, woraufhin ich die den Code leicht umgeschrieben habe:
Jetzt sind die Fehlerausgaben von PHP zwar weg, aber anstelle der einzusetzenden Strings, bekomme ich nun nur jeweils ein �-Zeichen angezeigt.
Weiss jemand Rat?!
Und zwar gehts es darum, dass ich vor langer Zeit mal ein kleines, selbst erstelltes Template-System von einem Bekannten bekommen, welches ich für div. Webseiten nutze.
Es klappte immer wunderbar (für meine Zwecke), aber seitdem ich von PHP4 zu PHP5 umgestiegen bin habe ich ein Problem.
In PHP4 sah die Template-Klasse noch so aus:
PHP:
<?php
class utemplate
{
var $dateiname;
var $inhalt="";
function utemplate($a, $ordner="code/template/")
{
$this->$dateiname=$a;
$this->$inhalt=implode("",file($ordner.$this->$dateiname)); //Alle Zeilen der Datei zu einem String zusammenfassen
}
function anzeigen()
{
$this->$inhalt=ereg_replace("[§].([[:alpha:]]*).[§]","",$this->$inhalt); //Unbenutzte Template-Variablen, die zwischen () stehen, löschen
echo $this->$inhalt;
}
function ersetzen($arr)
{
for($i=0;$i<count($arr);$i++)
{
$this->$inhalt=str_replace("§".key($arr)."§",current($arr),$this->$inhalt);
next($arr);
}
}
}
?>
Nach der Umstellung auf PHP5 bekam ich wegen dem nachfolgenden Code hinter der Pseudovariable $this-> vermehrt eine Fehlerausgabe, woraufhin ich die den Code leicht umgeschrieben habe:
PHP:
<?php
class utemplate
{
private $dateiname;
private $inhalt="";
public function utemplate($a, $ordner="code/template/")
{
$this->dateiname=$a;
$this->inhalt=implode("",file($ordner.$this->dateiname)); //Alle Zeilen der Datei zu einem String zusammenfassen
}
public function anzeigen()
{
//Unbenutzte Template-Variablen, die zwischen () stehen, löschen
$this->inhalt=ereg_replace("[§].([[:alpha:]]*).[§]","",$this->inhalt);
echo $this->inhalt;
}
public function ersetzen($arr)
{
for($i=0;$i<count($arr);$i++)
{
$this->inhalt=str_replace("§".key($arr)."§",current($arr),$this->inhalt);
next($arr);
}
}
}
?>
Jetzt sind die Fehlerausgaben von PHP zwar weg, aber anstelle der einzusetzenden Strings, bekomme ich nun nur jeweils ein �-Zeichen angezeigt.
Weiss jemand Rat?!