Hi
Ich schreibe gerade an einer parser Klasse.
Dabei bin ich beim parsaen von mehrdimensionalen Arrays auf ein
Problem gestoßen.
Wie sollte ich es ermöglichen im Template vorkommende Begriffe wie z.Bsp:
umzusetzen und durch den wert des Arrays zu ersetzten.
Also z.Bsp: dann eben den Wert von
$array["ErsteDImens"]["zweiteDimens"]["dritteDiomens"]....; ?
Ich habe hier mal etwas geschrieben.
Es funktioniert leider nur teilweise ( mit einDimensionalen funktioniert es, wenn man die ") weglässt!
Ich hoffe jemand kann mir weiterhelfen!
Gruß SimonErich
Ich schreibe gerade an einer parser Klasse.
Dabei bin ich beim parsaen von mehrdimensionalen Arrays auf ein
Problem gestoßen.
Wie sollte ich es ermöglichen im Template vorkommende Begriffe wie z.Bsp:
{$array["ErsteDImens"]["zweiteDimens"]["dritteDiomens"]....}
Also z.Bsp: dann eben den Wert von
$array["ErsteDImens"]["zweiteDimens"]["dritteDiomens"]....; ?
Ich habe hier mal etwas geschrieben.
Es funktioniert leider nur teilweise ( mit einDimensionalen funktioniert es, wenn man die ") weglässt!
PHP-Code:
preg_match_all("/{[$]". $needle ."(\[.*?\])}/im", $this->strTemplate, $match1);
$arrayDim = $match1[1][0];
$array = $replacement[$arrayDim];
eval("\$array = \"$array\";");
$this->strTemplate = str_replace("{\$". $needle ."[". $match1[1][0] ."]}", $array, $this->strTemplate);
Ich hoffe jemand kann mir weiterhelfen!
Gruß SimonErich
Kommentar