A la hora de mostrar trozos de código en una web o blog tenemos muchas formas de hacerlo. En este post vamos a ver la función de php highlight_file que sirve para ofrecer código de forma resaltada, con diversos colores que faciliten su lectura. Vamos a ver un poco el funcionamiento de la función highlight_file, que realiza un resaltado de sintaxis de un archivo.
Sintaxis:highlight_file ( string $nombre_archivo [, bool $devolver ] )
Imprime o devuelve una versión con resaltado de sintaxis del código contenido en nombre_archivo usando los colores definidos en el resaltador de sintaxis incorporado de PHP.
El parámetro "nombre_archivo" es la ruta al archivo PHP a ser coloreado. El parámetro "devolver" establecido como TRUE hace que la función devuelva el código resaltado. Si se establece como FALSE, devolverá TRUE si tiene éxito, o FALSE en caso de fallo.
Veamos un ejemplo. Tenemos un archivo denominado "fichero.php" con:
<?php
require'EasyGoogleMap.class.php';
$key ="XXXXXXXXXX";
$gm = & new EasyGoogleMap($key);
$gm->SetMapZoom(15);
$gm->SetAddress("Colon 22, Valencia");
$gm->SetInfoWindowText("Esta es la primera dirección");
$gm->SetAddress("Periodista Azzati 7, Valencia");
$gm->SetInfoWindowText("Esta es la segunda dirección");
?>
<html>
<head>
<title>EasyGoogleMap</title>
<?php echo $gm->GmapsKey(); ?>
</head>
<body>
<?php echo $gm->MapHolder(); ?>
<?php echo $gm->InitJs(); ?>
<?php echo $gm->UnloadMap(); ?>
</body>
</html>
Para mostrar este fichero en nuestra web de un modo resaltado lo haríamos de un modo parecido al siguiente:
<p>Este es un código de ejemplo utilizando la función <strong>highlight_file:</strong></p>
<?php
highlight_file ("fichero.php");
?>
<p>Como se puede apreciar el código ha aparecido con la sintaxis resaltada. </p>
Ver ejemplo en funcionamiento » »
La utilización de la función es muy simple, pero siempre podemos enriquecerla un poco más. Por ejemplo, en PHP.net nos muestran una forma de enriquecerla ofreciendo los números de línea:
<style type="text/css">
.num {
float: left;
color: gray;
text-align: right;
margin-right: 6pt;
padding-right: 6pt;
border-right: 1px solid gray;}
</style>
<?php
function highlight_num($file) {
echo '<code class="num">', implode(range(1, count(file($file))), '<br />'), '</code>';
highlight_file($file);
}
highlight_num('fichero.php');
?>
Ver ejemplo en funcionamiento » »
También podemos utilizar la función highlight_string para realizar el resaltado de sintaxis de una cadena -la cadena debe incluir la etiqueta de apertura-:
<?php
highlight_string('<?php
require"EasyGoogleMap.class.php";
$key ="XXXXXXXXXX";
$gm = & new EasyGoogleMap($key);
$gm->SetMapZoom(15);
$gm->SetAddress("Colon 22, Valencia");
$gm->SetInfoWindowText("Esta es la primera dirección");
$gm->SetAddress("Periodista Azzati 7, Valencia");
$gm->SetInfoWindowText("Esta es la segunda dirección");
?>')
?>







