Hallo hab mir mal nen eigenen tpl parser geschrieben (ist nicht gerade der beste aber sollte erstmal reichen) jetzt fehlt mir nurnoch eine sache wo ich momentan kein plan hab wie ich die einbauen soll und zwar möchte ich auch schleifen parsen können (für z.B News die aus der Db ausgelesen werden und mehrere angezeigt werden)
naja hier mal mein code
mein versuch:
das array dazu
jetzt gibt er nur eins aus <.< und desweiteren hab ich das problem das ich die angaben nicht mit
untereinnander ausgeben kann bzw kann ich dann nicht z.B <td>{$platzhalter}</td>
wiederholt ausgeben
hoffe kann mir jemand helfen (was bestimmt der fall ist ^^)
soll eben für abfragen aus der db sein
naja hier mal mein code
PHP-Code:
<?php
class tpl {
var $path;
var $contents;
var $content;
var $handle;
############ Für das Parsen von normalen dateien ##########################
function load ($template)
{
$pfad = "template/";
$end = ".tpl";
$this->path = $pfad.$template.$end;
$this->handle = @fopen($this->path,"r");
if (!$this->handle)
{
echo "Konnte Datei <font color="red">($this->path)</font> nicht öffnen";
exit();
}
$this->contents = implode("",file($this->path));
fclose ($this->handle);
}
function replace($search,$replace)
{
$this->contents = str_replace("{$".$search."}", $replace,$this->contents);
}
function get()
{
echo $this->contents;
}
}
############ Für das Parsen von db daten ##########################
function sql_load($table,$where)
{
$this->sql = "SELECT content from ".$table." where name ='".$where."'";
$this->sql_query =mysql_query($this->sql);
while($row = mysql_fetch_object($this->sql_query))
{
$this->content =$row->content;
}
}
function sql_replace ($search,$replace)
{
$this->content = str_replace("{$".$search."}", $replace, $this->content);
}
function sql_get()
{
echo $this->content;
}
?>
mein versuch:
PHP-Code:
<?php
function replace_array($search,$replace)
{
if (is_array($replace))
{
foreach ($replace as $key => $value) {
$this->contents = str_replace("{$".$search."}", $value,$this->contents);
}
}else
{
echo "<font color="red">$replace ist kein array";
}
}
?>
PHP-Code:
<?php
$arr = array("eins", "zwei", "drei");
?>
untereinnander ausgeben kann bzw kann ich dann nicht z.B <td>{$platzhalter}</td>
wiederholt ausgeben
hoffe kann mir jemand helfen (was bestimmt der fall ist ^^)
soll eben für abfragen aus der db sein
Kommentar