highlight_file: resaltar código PHP

0 COMENTARIOS -  Publicado hace 12 meses -  Clasificado en: ,

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

Ver ejemplo en funcionamiento » »

Algunas entradas relacionadas:

También te puede interesar:

Haz un comentario

¡Gracias por dejar tu opinión! Por favor procura que tu comentarios sean apropiados respecto al tema tratado en la entrada; que no sean spam, u ofensivos, de otro modo, serán eliminados. Todos los comentarios serán moderados antes de su publicación por lo que su aparición en la web puede verse aplazada un cierto tiempo. Si deseas realizar algún comentario, crítica o sugerencia sobre la propia web puedes hacer a través de la siguiente dirección de correo: webintenta@webintenta.com