Hola!
 
Tengo una duda que me aqueja, tengo un sistema de plantillas:  
 Código PHP:
    <?php
class TemplateClass{
    
    private $_dir           = 'template/';
    private $_file_ext        = '.tpl';
    private $_vars        = array(); 
    private $_delimiters     = array('{', '}'); 
    
    public function Assign($name, $value){
        if(!array_key_exists($name, $this->_vars))
            $this->_vars[$name] = $value;
    }
    public function GetAssign($name){
        return $this->_vars{$name};
    }
    public function Template($file){ 
        if( $output = @file_get_contents($this->_dir.$file.$this->_file_ext)){
            foreach($this->_vars as $name => $value){
                $output = str_replace($this->_delimiters[0].$name.$this->_delimiters[1], $value, $output); //recorremos todo el archivo para cambiar las palabras con los delimitadores a su respectiva traduccion
            }
            return $output;
        }
        else 
            die("La plantilla no existe."); 
    }
}
?>    
  La cual utilizo para crear mis plantillas. 
Su funcionamiento es bastante simple: 
 Código PHP:
    $plantilla = new TemplateClass();
$plantilla->Assign("variable","Hola Mundo");
echo $plantilla->Template("plantilla.tlp"); 
    
  Mi problema es cuando quiero reemplazar la variable por varios resultados. Es decir si tengo {variable}. Reemplazarla por varios resultados por ejemplo, obtenidos de la bd. 
De antemano muchas gracias.