C'è già un paio di risposte a questo, ma solo per aggiungere la mia $ 0,02 ...
Questo codice:
<?php
$test = '<?php echo "hello world!"; ?>';
echo $test;
?>
Produce una schermata bianca vuota nel browser, ma se si visualizza l'origine vedrete questa uscita:
<?php echo "hello world!"; ?>
Questo ha a che fare con il modo in cui il browser sta rendendo il tuo codice PHP. I browser non sono pensati per il rendering del codice PHP, ma piuttosto del codice HTML. Se stai facendo eco al codice perché stai testando ciò che verrà scritto sul tuo file, quindi basta vedere il codice sorgente per convalidare ciò che viene prodotto è ciò che vuoi che venga scritto sul file. Non lo vedrai nel browser stesso perché non sa come eseguire il rendering del tag ?php
, figuriamoci cosa fare con l'attributo echo
.
Opzionalmente, come tutti hanno già dichiarato, è possibile passare la stringa attraverso htmlspecialchars
se tutto ciò che si vuole fare è renderlo nel browser senza dover visualizzare la fonte.Non vorrai farlo se lo stai scrivendo sul file, ma potresti aiutarti a eseguire il debug del tuo output.
Un'altra opzione sarebbe quella di eseguire lo script dalla riga di comando. Non tenterà di rendere il tuo output e invece lo sputerà letteralmente.
fonte
2013-04-27 14:39:53
Stai riproducendo il codice nell'output HTML? Se è così, viene interpretato come un tag e ha bisogno di essere sfuggito per apparire sullo schermo. – grossvogel
Basta dare un'uscita o anche eseguirla? –
Viene inserito in un file .php che verrà eseguito in un secondo momento. –