循环通过自定义模板挂钩的东西

I am building a template system for emailing people that currently works in the format of:

$array['key1'] = "text";
$array['key2'] = "more text";

<!--key1--> // replaced with *text*
<!--key2--> // replaced with *more text*

For this particular project I have a nested array with this kind of structure:

$array['object1']['nest1']['key1'] = "text";
$array['object2']['next1']['key1'] = "more text";

<!--[object1][nest1][key1]--> // replaced with *text*
<!--[object2][nest1][key1]--> // replaced with *more text*

The <!-- .. --> would be placed inside a HTML file which is then loaded into a string. The top example shows that I am replacing the comments with the data.

What would be the best way to do this in PHP? I thought I could loop through the arrays but then I just lost my trail of thought and got lost in what I was doing!

All help would be appreciated!! Thanks

Well, using eval is dangerous, but if all the code ran though it is by you, it won't hurt. You can try this:

<?php

$array['object1']['nest1']['key1'] = "text";
$array['object2']['nest1']['key1'] = "more text";

$str = "sadfadsfjäadsföljadsölf
<!-- ['object2']['nest1']['key1'] -->
asdföadsjlf";

$split = explode('
',$str); // This sucks, you can use 
 to detect line-breaks. Doesn't work that way in this example

foreach($split as $key => $value) {
    if(preg_match('/\<\!\-\- (\[.+\]) \-\-\>/e',$value,$matches)) {
    eval("echo \$array".$matches[1].";");
    echo "
";
} else {
    echo $value."
";
}
}

?>

Pretty weird way, but I couldn't figure out any clearer.