A ver, Creo que he comprendido la idea, pero no veo como hacerlo, tenemos esto (por ejemplo).
Código PHP:
$html="<h1>Cuarto {DAY}</h1><p>faltan 3 {WEEKS} para completar el {MONTH}</p>";
$lang = array(
'DAY' => 'dia',
'MONTH' => 'mes',
'WEEKS' => 'semanas',
);
preg_match_all ('/\{(.*?)\}/', $html, $coincidencias);
print_r ($coincidencias[1]);
Para poder reemplazar los {contenidos} debería tener un array con el nombre de dicho contenido ¿no? Por ejemplo.
$coincidencias[contenidos]
O en este ejemplo seria
$coincidencias[DAY] o $coincidencias[MONTH]
No sé, creo que he captado la idea de reemplazar los contenidos, pero no veo la forma de hacerlo en práctica.