Salve a tutti, premetto che prima di scrivere ho cercato in tutti i modi di risolvere questo maledetto problema ma senza esiti positivi.
Perciò dopo mille tentativi eccomi qui a chiedervi umilmente aiuto![]()
Il mio problema riguarda l'espansione delle variabili presenti in una stringa,nel momento in cui questa viene assegnata come valore ad una variabile, in particolare nel mio caso, per un template:
Ok supponiamo di avere dei valori un db e tramite una chiamata ad una funzione vengono estratti e mostrati con un template modificabile dall'utente
il template sta in una varibile cosi:
In questo momento essendo la stringa tra " " il php farà il parsing ed espanderà le variabili che incontra, ma in quel momento quelle variabili non avranno alcun valore e quindi il risultato non sarà quello voluto.Codice PHP:
$template = "
<table>
<tr>
<td>$nome</td>
<td>$cognome</td>
<td>$età</td>
</tr>
</table>";
funzione($template);
Se invece provo a mettere la stringa tra ' ' l'espansione non verrà effettuata, che è cio che volgio io, ma all'interno della funzione che estrai i dati dal db, una istruzione come:
Mi restituirà il $template così com'è senza espandere le variabili, (che verranno definite dalla funzione stessa una volta estratti i valori) cosa che non mi sta piu bene.Codice PHP:
echo " $template ";
Ho provato altri metodi di delimitazione di una stringa come HAREDOC ma non cambia nulla :/
La soluzione piu facile sarebbe inserire il template al'interno della funzione, ma non credo che nessuno farebbe queste porcheria, l'utente dovrebbe editare il file delle funzioni per cambiare un template...
Detto ciò... vi chiedo umilmente aiuto sembrava una cazzata e invece mi ha bloccato :/
ps: starebbe a pennello, se esiste, perchè io non l'ho trovata, una funzione che data una variabile con un valore rappresentato da una stringa tra ' ' (con possibili variabili nn espanse)
ne faccia il parsing per l'espansione trattandola come se fosse tra " "... questo risolverebbe subito il mio problema.
grazie anticipatamente