Criando um mecanismo de modelagem simples, mas flexível

Estou tentando criar um mecanismo básico de modelos. Como os mecanismos de modelo já disponíveis como código aberto, estou usando técnicas de pesquisa e substituição.

No entanto, como a pesquisa e a substituição precisam ser codificadas, não é tão flexível. O que quero dizer é que, por exemplo, estou usando algo como isto

$templateMarkup = '<div class="title">{_TITLE_}</div>';
$renderedMarkup = str_replace("{_TITLE_}",$title,$templateMarkup);
echo $renderedMarkup;

Como você pode ver, é codificado. Portanto, tenho que conhecer propositadamente todos os espaços reservados para obter uma renderização bem-sucedid

Sou um pouco fraco em expressões regulares. Mas eu sei, se eu puder desenvolver uma regex, que possa corresponder a todo o texto começando com{_ e final_} e obter o valor entre eles, talvez eu consiga criar um mecanismo de modelo flexíve

Preciso de ajuda com a expressão regula

Se eu estiver seguindo completamente o caminho errado, avise-m

Para aqueles que pensam que estou reinventando a roda. Aqui está a minha explicação

Templating engines, that are already available are quite unnecessarily complex. 
My requirements are simple and so I am builidng my own simple engine. 

questionAnswers(3)

yourAnswerToTheQuestion