Ivation > Découvertes > Fshl : un bon colorateur syntaxique en PHP

Fshl : un bon colorateur syntaxique en PHP

Le 06/05/2008 à 09:16 - par Camille - dans Découvertes

Image utilisateur

Fshl est un colorateur syntaxique en PHP, il colore pas mal de codes tels que le PHP, SQL, CSS, XHTML et j'en passe. Il existe déjà quelques colorateurs mais ils ont souvent la réputation d'être lourd, d'être une usine à gaz comme je dirais.

Le colorateur syntaxique que je vais vous montrer est, lui, léger.

Pour vous montrer une démonstration grandeur nature, j'ai installé Fshl sur Ivation en créant une balise bbcode permettant de mettre du code dans les billets, ce qui est sympathique car je parlerai de temps à autre de développement Web.

Code : PHP
 1: <?php
 2: ob_start();
 3: session_start();
 4: include( 'fonctions.php' );
 5: ?>
 6: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 7: <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
 8:     <head>
 9:         <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
10:         <title>Titre de ma page</title>
11:         <base href="<?php echo $url_site; ?>" />
12:         
13:         <link rel="stylesheet" href="design/global.css" type="text/css" media="screen" />
14:         <link rel="shortcut icon" type="image/png" href="images/favicon.png" />
15:     </head>
16:     <body>

Ah et j'oublais : comme vous le voyez là, la balise PHP colore bien évidemment le PHP mais aussi l'HTML, le SQL et le CSS à la fois, car ils sont souvent dans la même page quand on y pense.

J'aurais pu utiliser Pygments mais c'est en Python et ce langage n'est pas disponible en hébergement mutualisé chez Din'Hosting (ça devrait venir, à priori).

Bref si vous êtes intéressé par ce colorateur, rendez-vous sur la page Google Code du projet, où vous pourrez télécharger l'archive (avec des exemples) et vous documentez à son sujet (qu'on se le dise : c'est simple à implémenter).

PS : certains trouveront peut-être que les couleurs de la coloration ne sont pas terribles mais tout ça se change dans le CSS mais moi personnellement, j'aime bien, ça change de Notepad++ avec du bleu/vert/noir et rouge partout. :p

PS 2 : il y a même les liens sur les fonctions vers la documentation PHP, si c'est pas la classe. ;o)

Derniers articles Flux RSS de Ivation

Tous les commentaires

Avatar de azymut
azymut

Sympa mais j'aime pas:
- la couleur (css est la solutions a tout)
- le fait que le compteur de ligne ne puisse pas être enlever (pour faire un
copier-coller du code)

#1 - Le 06/05/2008 à 11:19 - Répondre

Avatar de Sithran
Sithran

En ce qui me concerne, j'ai toujours préféré des highlighter léger aux usines comme GeSHi. Je bookmark.

#2 - Le 06/05/2008 à 12:04 - Répondre

Avatar de Camille
Camille

@azymut : Il y a la possibilité d'enlever les numéros de ligne au besoin. ;)

#3 - Le 06/05/2008 à 17:02 - Répondre

Avatar de Vanger
Vanger

C'est modifiable à souhait tout ça. Les numéros de ligne sont affichable ou non (et au pire tu peux faire une fonction pour Afficher/Masquer les numéros de ligne -cf Art-Toon-).

Pour la couleur, là encore un CSS de base est fourni mais très facilement modifiable.

L'avantage surtout, c'est que c'est pas une "usine à gaz". Si quelque chose ne vous plaît pas, vous pouvez jeter un oeil au code source et modifier. C'est vraiment abordable étant donné qu'il y a pas des tonnes de lignes de code et que les fichiers sont bien réparties (contrairement à geshi qui nous colle tout dans un fichier de XXXX lignes).

#4 - Le 08/05/2008 à 06:40 - Répondre

Avatar de scientifix94
scientifix94

J'ai une question: comment faire pour avoir l'option afficher/cacher les numéros de ligne?

#5 - Le 18/05/2008 à 22:42 - Répondre

Avatar de jmini
jmini

J'ai traduit la page d'aide :
http://docs.jmini.fr/code/utiliser-fshl

Pour les options avancées (numéro de ligne etc) ce n'était pas dans la page, mais cela se passe avec la ligne :
$parser_options = P_TAB_INDENT | P_LINE_COUNTER;
$parser = new fshlParser($output_module, $parser_options);

C'est pour une version 2 de ma page.

#6 - Le 10/10/2008 à 01:01 - Répondre

Poster un commentaire

Nouveau commentaire






* champs obligatoires