Estas son algunas de las tantas opciones que existen para darle formato y estilo a nuestro código, algunas probablemente ya las conoces y otras quizas no. Pero, con sus pros y sus contras, todas son muy buenas; implementar una o la otra es solo una cuestión de diferentes necesidades y en ultima instancia una cuestión de gustos.
Diferentes Opciones para Resaltar el Código
Opciones ServerSide o del lado del Servidor:
Ejemplo:
<?php
//Resaltando una cadena de texto.
highlight_string ('<?php phpinfo(); ?>');
//Resaltando un archivo entero.
highlight_file('file.php');
?>
Son dos funciones extremadamente simples de usar, y si tenemos acceso al archivo php.ini podemos personalizar los colores a nuestro gusto:
Parametros que podemos editar en el archivo php.ini para cambiar el color de salida.
highlight.string = #DD0000 (Color para las cadenas encerradas en comilla simple o doble comillas).
highlight.comment = #FF9900 (Color para los comentarios en el código).
highlight.keyword = #007700 (Color para algunas de las palabras claves del lenguaje como son if, else, for, while).
highlight.bg = #FFFFFF (Color para el fondo).
highlight.default = #0000BB (Color para lo que queda fuera de las demas categorías).
highlight.html = #000000 ->Negro (Color para lo que esta fuera de las etiquetas <?php ?> como código html o javascript).
- 2- PHP_Highlight: Clase PHP que, como las funciones mencionas anteriormente, solo sirve para resaltar código PHP. Nos ofrece una salida en XHTML valido y crea además enlaces referenciales de las diferentes funciones PHP apuntando al manual online del mismo.
También brinda tres formatos de salida (array, lista ordenada, y html puro)
Ejemplo de uso:
<?php
require_once 'PHP_Highlight.php';
$h = new PHP_Highlight;
$h->loadFile('file.php');
// Salida en formato Array
echo "<h3>En forma de Array</h3>";
echo "<pre>";
print_r($h->toArray());
echo "</pre>";
// Salida en formato de Lista Ordenada
echo "<h3>Lista Ordenada</h3>";
$h->toList(false);
// Salida en formato html
echo "<h3>En HTML basico</h3>";
$h->toHtml(false);
?>
Si queremos personalizar los colores de salida podemos agregar la siguiente linea y adjuntar una hoja de estilos CSS con los colores que deseamos.
<?php
require_once 'PHP_Highlight.php';
$h = new PHP_Highlight;
//Esta línea nos ofrecera la posibilidad de personalizar los colores.
$h->PHP_Highlight (true);
$h->loadFile('file.php');
/* y lo que sigue */
?>
La hoja de estilos tendría que ser mas o menos así, poniendo el color en hexadecimal que queremos:
.bg {
color: #000000;
}
.string {
color: #000000;
}
.keyword {
color: #000000;
}
.comment {
color: #000000;
}
.html {
color: #000000;
}
.default {
color: #000000;
}
La librería PHP_Highlight depende de un archivo llamado T.php, que es parte del paquete de PEAR PHP_Compat.
- 3- Generic Syntax Highlighter: Más conocida como GeSHi, es sin dudas la herramienta más completa escrita en PHP para resaltar código; a diferencia de las dos formas anteriores GeSHi soporta mas de 50 lenguajes, entre ellos PHP, HTML, CSS, Java, C, Lisp, XML, Perl, Python y muchos otros.
Ejemplo Basico de uso:
<?php
include_once('geshi.php');
// Definiendo un poco de código para resaltar
$source = '$foo = 45;
for ( $i = 1; $i < $foo; $i++ )
{
echo "$foo<br />n";
--$foo;
}';
$language = 'php';
$geshi =& new GeSHi($source, $language);
echo $geshi->parse_code();
?>
Por ahora esto es todo para esta primera parte, en la segunda voy a profundizar más en los métodos y formas de trabajar y configurar GeSHi. También, en la segunda parte voy a escribir sobre unas cuantas opciones más, algunas para resaltar el código del lado del cliente y también sobre alguna que otra aplicación para hacer lo mismo pero desde el escritorio.
Espero que sea útil, un saludo grande!
4 comments.