PHP non viene visualizzato correttamente nel browser web [duplicato]
Codice PHP di esempio
wolf@linux:~$ cat 1-new-line.php <?php echo "Hello World Foo Bar!"; $aString = '
First Line
Second Line
Third Line';
echo $aString; ?> wolf@linux:~$
Funziona come previsto nella CLI
wolf@linux:~$ php 1-new-line.php Hello World Foo Bar! First Line Second Line Third Line wolf@linux:~$
Ma non tramite browser
Cosa c'è di sbagliato in questo codice? Come renderlo correttamente nel browser web?
Risposte
Ci sono alcune cose che possono essere fatte.
- Puoi inserire
<pre>tag HTML all'interno del codice PHP o all'esterno come mostrato di seguito.
Il
<pre>tag HTML viene utilizzato per indicare il testo preformattato. Il tag del codice circonda il codice da contrassegnare.I browser normalmente rendono il pre-testo con un carattere a passo fisso, con spazi vuoti intatti e senza ritorno a capo automatico.
www.tutorialspoint.com/html/html_pre_tag.htm
<pre>
<?php
echo "Hello
World
Foo Bar!";
$aString = ' First Line Second Line Third Line'; echo $aString;
?>
- Usa
header('Content-Type: text/plain');nel codice php.
Per esempio
<?php
header('Content-Type: text/plain');
echo "Hello
World
Foo Bar!";
$aString = ' First Line Second Line Third Line'; echo $aString;
?>
Produzione
I browser interpretano l'output di PHP come HTML e in HTML le nuove righe vengono sostituite da spazi.
Se vuoi imparare come eseguire l'interruzione di riga in un browser, usa <br />o racchiudi le frasi nei <p>tag.
Puoi anche dire a un browser di trattare il tuo output come testo e non come HTML. In tal caso, utilizzare la seguente intestazione (prima di qualsiasi output):
header('Content-Type: text/plain');
Stai eseguendo il rendering in un browser senza alcuna formattazione HTML. Avvolgendolo in un <pre></pre>tag manterrà la sua formattazione in chiaro (newline e spazi bianchi) quando viene visualizzato nel browser.
<pre>
<?php
echo "Hello
World
Foo Bar!";
</pre>
$aString = ' First Line Second Line Third Line'; <pre> echo $aString;
</pre>
?>