“Compilazione” contenuti con tag brevi a var, senza eval ()
-
02-10-2019 - |
Domanda
Per cominciare, mi permetta di pulire l'aria dicendo che sono a conoscenza dei dis / vantaggi di utilizzare la sintassi tag breve in PHP. Non è quello che questa domanda è circa.
C'è un modo per "includere" un file contenente codice tag breve, in una variabile, e hanno in realtà PHP analizzare il codice?
include
/ require
ovviamente non forniscono i dati in una forma praticabile, e il buffering non analizza il codice del tag breve perché avviene in fase di esecuzione.
Utilizzando eval()
non è semplicemente un'opzione.
Suggerimenti?
Soluzione
ob_start();
$ini_sot = ini_get('short_open_tag');
ini_set('short_open_tag', 1);
include('file_with_short_tags.php');
ini_set('short_open_tag', $ini_sot);
$variable = ob_get_contents();
ob_end_clean();
Non sono sicuro di quello che volevi dire nella vostra domanda su come il buffering non era adatto, ma ho usato comunque. Sto assumendo il problema è che i short_open_tags non è abilitato sulla vostra piattaforma, e forse resta che abilitare temporaneamente nel codice.