Queste sono le basi dell'informatica.
Quando tu definisci una variabile
Codice PHP:
$page = preg_replace("[{nome}]", $nome, $tpl);
Tutto quello che sta a destra, viene introdotto nella variabile che fa da contenitore
In questo caso la variabile $tpl viene modificata e le modifiche vengono introdotte nella variabile $page di conseguenza la variabile $tpl rimane invariata
Quindi per continuare a fare modifiche non bisogna più utilizzare (in questo caso) la variabile $tpl ma $page.
E come se tu avessi questa situazione
Codice PHP:
$tpl = "{titolo} {nome}";
$page = preg_replace("{nome}, "script", $tpl); //$page diventa {titolo} script e $tpl rimane {titolo} {nome}
$page = preg_replace("{titolo}, "NOME", [B]$page[/B]); //$page diventa NOME script e $tpl rimane {titolo} {nome}
codice:
Questo avviene perchè tu effetti la sostituzione in una variabile già lavorata. se apposta ti $page mettevi $tpl
Spero di essere stato chiaro nella spiegazione