PDA

View Full Version : [PHP] Html inline in variabili php


Suondmao
18-08-2010, 01:29
Salve a tutti, il mio problema è il seguente:

devo fare dell'html inline dentro una pagina php ed assegnare del codice html a una variabile php, del tipo $var = "<div class=\"aa\">dd</div>";

Il punto è che non posso stare a fare l'escaping di tutto a mano (e non dite di usare gli apici singoli che poi devo l'escaping di quello al posto dei ").

In pratica devo chiudere il tag php prima di iniziare la variabile, in modo da poter scrivere dell'html PURO e che questo vada dentro la variabile php (e non a schermo).
Ovviamente non posso fare $var = "?> visto che il ?> dentro una stringa non viene considerato.

Come posso fare? Normalmente l'html lo prenderei da database ma in questo momento non posso farlo, lo devo avere in variabili php e lo devo avere puro, senza scrivere gli escaping a mano.

Per piacere non rispondete con aggiramenti del problema tipo usare funzioni come htmlspecialchars e simili o di leggere l'html da file.

Si può fare quello che chiedo?

Suondmao
18-08-2010, 03:20
Mi rispondo da solo.
La soluzione non è banale e fa uso di ob_start() e ob_get_clean().

La si può trovare qui: http://stackoverflow.com/questions/1581586/html-into-php-variable-html-outside-php-code

alemoppo
21-08-2010, 01:25
Forse non ho ben capito il problema, ma hai provato ad usare Heredoc?

Ad esempio:


$var = <<<EOD
<div class="aa">dd</div>
<span class="una_classe" onClick="alert('Ciao');">Testo</span>
<!- html -->
EOD;


Ciao!