Tienes muchos errores, lo mejor es que uses las llaves del array para el nombre, ej:
Código PHP:
Ver original<?php
'HOLA' => '¡hola mundo!',
'array' => array(1, 2, 3, 4, 5) );
Después, en tu código, verificas sí es un array y usas implode o algo similar:
Código PHP:
Ver originalforeach ($contenedor as $variable=>$valor) {
$contenido = str_replace('{'.$variable.'}', $valor, $contenido); }
Aunque no veo mucho control en tu sistema de plantillas ya que no puedes hacer un ciclo o algo por el estilo que te permita tener más control sobre el contenido de tu array, o hacer ifs sencillos.
Saludos.