Non ho capito cosa c'entra il tuo esempio di sostituzione di tag annidati con la necessita' di visualizzare una serie di dati con un foreach o qualunque altro tipo di ciclo.
Comunque non e' vero che i framework usano un template engine, non tutti almeno. Con codeigniter le view sono semplici file PHP in cui userai HTML per il markup, CSS per lo stile, JS per le manipolazioni lato client, costrutti PHP per sostituzione di variabili e strutture di controllo. O se preferisci XML+XSL o quello che ti pare. Le view sono totalmente libere.