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');
?>







Commenti

1 - PR   SitoGio 08 Ago 2013 - 17:23:15  

Just what I needed. I'm now trying to modify the script to be able to set more control.


Scrivi un commento

Pui scrivere quì sotto un commento all'articolo che hai appena letto. Non sono abilitate smile, immagini e link. La lunghezza massima del commento è 4000 caratteri. La buona educazione è benvenuta, tutti i commenti offensivi saranno cancellati.

Your comment (lascia bianco!):
Utente (max 25 caratteri, obbligatorio)
Sito web (max 255 caratteri, facoltativo)
e-Mail (max 255 caratteri, facoltativa, non sarà pubblicata) Your opinion (lascia bianco!):
Commento (max 4000 caratteri, obbligatorio):





Valid HTML 4.01 Transitional
E-Mail - 49.19 ms

Valid HTML 4.01 Transitional