Liebe Wissende,
ich habe mir jetzt eine rekursive Funktion dafür gestrickt.
Vielleicht habt Ihr eine Idee, wie man die noch vereinfachen/verbessern kann?
function get_parts ($tpl)
{
$_parts = array();
$open = 0;
$close = 0;
$pos = 0;
$len = strlen($tpl);
$start = 0;
while (($len > 0) && ($pos < $len))
{
if ($tpl[$pos] == '[')
{
$open++;
if ($open == 1)
{
$start = $pos;
}
}
if ($tpl[$pos] == ']')
{
$close++;
}
if (($open == $close) && ($open > 0))
{
$str = substr($tpl, $start +1, $pos - $start -1);
$_parts[$str] = get_parts($str);
if (count($_parts[$str]) == 0)
{
$_parts[$str] = evaluate($str);
}
$tpl = substr($tpl, $pos +1);
$len = strlen($tpl);
$open = 0;
$close = 0;
$pos = 0;
$start = 0;
}
else
{
$pos++;
}
}
return $_parts;
}
Grüße
Robert