Originariamente inviato da Kloaz
conoscevo str_replace() ma cercavo un modo per evitare una specie di parsing manuale, pensa se avessi 10 variabili, dovrei fare 10 str_replace...
con eval() è una sola istruzione
Non è necessario fare più di una chiamata a str_replace(): il seguente codice sostituisce TUTTE le variabili definite.
Codice PHP:
$template = '....';
foreach(get_defined_vars() as $_name => $_value) {
$template = str_replace('$'.$_name, $_value, $template);
}
Il problema di eval() è che è un comando significativamente lento: se il template che usi è grande o complesso oppure se lo richiami parecchie volte, str_replace() è molto più rapido. Per cose semplici, le due soluzioni si equivalgono (anche se personalmente ritengo str_replace() più "corretta").