IMC!


Contenuti


Foto

 







Curiosando...
Novita  Novità Link  Link Blog  Blog English  Español 
Mostrare del codice in una pagina web

Può succedere di voler mostrare in una pagina web del codice di programmazione. Sorgono subito dei problemi relativi ai caratteri speciali (o sequenze di escape), che possono creare problemi nella visualizzazione della pagina, o non essere mostrati correttamente. Per ovviare a questo inconveniente, il PHP mette a disposizione le funzioni highlight_file(file), che legge da un file il codice e lo visualizza, e highlight_string(stringa), che legge il codice da una stringa, e lo visualizza. Entrambe le funzioni si occupano di sostituire i caratteri speciali dell'HTML con le relative entità, in modo da formattare correttamente il codice per il web. Nel caso in cui il codice sia PHP, colorano anche i comandi (come avviene negli editor più avanzati). Di seguito riporto due semplici funzioni che permettono di riportare, senza problemi, un qualsiasi codice nelle pagine web.

Codice di mostra_codice1.php
<?PHP
function mostra_codice($percorso)
{
#Mostra il titolo del file
$nome=substr(strrchr($percorso'/'),1);
if (
$nome
{
  echo 
'<DIV style="font-family: Verdana; font-size: 12px;" align="left"><B>Codice di ' $nome '</B></DIV>';
}
else
{
  echo 
'<DIV style="font-family: Verdana; font-size: 12px;" align="left"><B>Codice di ' $percorso '</B></DIV>';
}
# Mostra il contenuto
echo '<DIV style="padding: 5px; border: dashed 1px #99c; background-color: #eef; width:570px; overflow: auto;">';
highlight_file($percorso,0);
echo 
'</DIV>';
}

mostra_codice('mostra_codice1.php');
?>


In certi casi la funzione highlight_file() non è abilitata per motivi di sicurezza. In tal caso è necessario aprire il file contenente il codice, leggerne il contenuto in una stringa, e visualizzarlo utilizzando highlight_string(), che invece non viene, in genere, disabilitata. Ecco il codice:

Codice di mostra_codice2.php
<?PHP
function mostra_codice($percorso)
{
#Mostra il titolo del file
$nome=substr(strrchr($percorso'/'),1);
if (
$nome
{
  echo 
'<DIV style="font-family: Verdana; font-size: 12px;" align="left"><B>Codice di ' $nome '</B></DIV>';
}
else
{
  echo 
'<DIV style="font-family: Verdana; font-size: 12px;" align="left"><B>Codice di ' $percorso '</B></DIV>';
}
# Mostra il contenuto
echo '<DIV style="padding: 5px; border: dashed 1px #99c; background-color: #eef; width:570px; overflow: auto;">';
$codice=file_get_contents($percorso);
highlight_string($codice,0);
echo 
'</DIV>';
}

mostra_codice('mostra_codice2.php');
?>






Fatal error: Call to undefined function sqlite_open() in /membri/giacobbe85/include/commenti.inc.php on line 324