Ho un problema nell'uso della funzione eval per eseguire del codice php contenuto in una stringa.
io su db ho questo testo:
(esattamente come lo ho scritto, con le \).testo \" . citazione (\"ciao\") . \" testo
Dove la funzione citazione è una mia funzione che mi formatta il testo in una maniera particolare.
Per far in modo che venga eseguita io utilizzo:
(dove $riga['descrizione'] è presa dal db con una query)Codice PHP:
$d = $riga['descrizione'];
@eval ("\$d = \"$d\";");
eval ("echo \"$d\";");
E fin qui tutto bene la citazione() si esegue e il testo "ciao" si formatta come voglio io, ma se provo a cambiare la mia stringa ad esempio in:
oppure in<div class="normal">testo \" . citazione (\"ciao\") . \" testo</div>
ottengo sempre l'errore:<div class=\"normal\">testo \" . citazione (\"ciao\") . \" testo</div>
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /xxx/xxx.php(105) : eval()'d code on line 1
mi sapete aiutare?