Colorateur syntaxique en php

Soyez le premier à donner votre avis sur cette source.

Vue 6 697 fois - Téléchargée 777 fois

Description

Colorateur Syntaxique en PHP

Bonjour,

Je viens de finir le développement d'un script php : un colorateur syntaxique. Il permet de colorer des codes sources à partir d'un fichier ou d'une chaine de caractères pour les langages C, C++, Java, Delphi, VB, Ada, SQL, OCaml, PHP. La coloration s'applique aux directives de compilation, aux commentaires, aux caractères et chaines de caractères, aux nombres et aux mots clés. Il est possible d'afficher le résultat (par défaut) ou de récupérer le résultat dans une chaine de caractères. Il est aussi possible d'afficher le numéro des lignes (désactivé par défaut).
J'ai mis en ligne via mon site web une présentation du projet, des statistiques, une démonstration, et les sources. L'adresse exacte est : http://www.prog-info.org/projets/ColorateurSyntaxique.php
J'ai utilisé des classes pour développer ce script. Le code source est bien commenté.
J'espère que beaucoup d'entre vous vont le tester, me dire ce qu'ils en pensent, me dire comment je pourrais l'améliorer en gardant à l'esprit que je veux qu'il soit le plus rapide possible. Tout conseil est le bienvenu.

Par contre, je pense que ce genre de script est difficilement utilisable sur un site web où il y a de nombreux codes sources et de nombreux visiteurs. L'hébergeur risque de râler ;)
Peut être que le mieux est d'utiliser le script pour mettre dans une BDD le code source coloré ou même de l'enregistrer dans un fichier texte même si cela prend plus de place.

Source / Exemple :


// Exemple d'utilisation : 
include("Repertoire/Colorer.php");
$source = new Colorer("Java", "Test.java");
include("TpsDebut.php");
echo "<pre>\n".$source->afficher()."</pre>";
echo "<p>&nbsp;";
echo "Statistiques : ";
include("TpsFin.php");
echo "</p>\n";

Conclusion :


Le projet se trouve sur mon site web à l'adresse : http://www.prog-info.org/
Rubrique projets, puis lien vers Colorateur Syntaxique.

http://www.prog-info.org/projets/ColorateurSyntaxique.php
http://www.prog-info.org/Scripts/ColorateurSyntaxique/LeTest.php

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_seyev Messages postés 93 Date d'inscription samedi 9 juin 2001 Statut Membre Dernière intervention 6 mai 2005 1
23 sept. 2004 à 01:03
Salut !
Je m'étais moi aussi mis a faire un truc comme ca à l'époque, pour le C (ca date de il y a trois ans maintenant...). J'avais envie de m'y remettre, mais la je crois que je vais laisser tomber :) Ton résultat est bon !
Si tu veux, j'ai quelques suggestions:

- Ajout du numéro de chaque ligne à gauche (pratique)
- colorer le langage SQL
Et aussi un truc que j'avais voulu faire, c'est que chaque fonction standard (norme ANSI) soit un lien vers sa description (à quoi elle sert, les arguments qu'elle accepte etc.)

Bien sur, le numéro des lignes et les liens étaient facultatifs... Si ca intéresse des gens, je peux le poster ici...

Bonne continuation !
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008
23 sept. 2004 à 05:32
Comme dit seyev ca serait interessant tout ce qu'il a dit, mais il faudrait mettre tout cela optionel.
Comme il dit, ca serait pas mal si d'apres une fonction PHP (existante) on puisse cliquer dessus pour tomber sur l'aide du site directement !
Ensuite, j'ai vu sur ton site que t'as un beau ToDo et que tu marques d'utiliser les Expressions Régulières plutot que str_replace(), OUI VITE FAIS LE :P utilises preg ! ca va aller beaucoup plus vite !

J'ai PLEINS de "Undefined variable" (ton error_reporting n'est pas à E_ALL, va lire http://www.phpcs.com/code.aspx?ID=24870 )

Et -> Woua :)
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
23 sept. 2004 à 19:18
résultat très bon :)
cs_Sebest Messages postés 4 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 24 septembre 2004
24 sept. 2004 à 20:20
Ok.

Je retiens le numéro des lignes en option.
En ce qui concerne le nom des fonctions, je le garde juste à l'esprit car c'est tres long à ecrire et meme si c'est en option, ca rallonge le temps de traitement grandement : à voir...

En ce qui concerne les undefined variables, ca concerne quelle page ? car je viens de mettre à on l'affichage de smsg et je ne vois rien !!!

PS : Quelle est la différence entre ereg et preg ?
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008
24 sept. 2004 à 21:32
preg c'est basé sur le perl c'est plus rapide que ereg...
Pour ce qui est des erreurs bah juste dans la page qui fait afficher les tests (je crois que c'est LeTest.php) en cliquant sur un langage... N'oublie pas de mettre ton error_reporting = E_ALL dans ton php.ini !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.