-
Problema preg_replace
Sto creando una specie di template engine, solo che adesso mi sono trovato davanti a un piccolo problema. Sto usando preg_replace per andare a sostituire delle variabili che inserisco all'interno dei template con delle altre che ricevo dal database, ma sto avendo un piccolo problema. Il codice che uso č questo
Codice PHP:
$content=preg_replace("#\{settings_(.+?)\}#si","\$settings->value['$1']",$content);
Lui funziona correttamente, ma al posto di sostituire con il valore della variabile sostituisce mettendo il valore della variabile. In pratica non viene interpretata. Spero che mi possiate dire dove sbaglio.
Grazie in anticipo
-
Ma stai dicendo che se stampi $content come output ricevi $settings->value['valore ricavato']???
Prova cosė:
Codice PHP:
$content=preg_replace("#\{settings_(.+?)\}#si","\$settings->value['$1']",$content);
$content=eval($content);
// anche
$content=preg_replace("#\{settings_(.+?)\}#si","\\1",$content);
$content=$setting->value[$content];
-
Si, il problema č esattamente quello, ma nessuna delle tue soluzioni funziona.
-
Scusatemi se uppo la discussione, ma purtroppo non sono ancora riuscito a risolvere