COLORATEUR SYNTAXIQUE EN PHP

cs_seyev Messages postés 93 Date d'inscription samedi 9 juin 2001 Statut Membre Dernière intervention 6 mai 2005 - 23 sept. 2004 à 01:03
hametsu21 Messages postés 37 Date d'inscription mardi 1 novembre 2005 Statut Membre Dernière intervention 24 février 2008 - 2 nov. 2005 à 17:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/26326-colorateur-syntaxique-en-php

hametsu21 Messages postés 37 Date d'inscription mardi 1 novembre 2005 Statut Membre Dernière intervention 24 février 2008
2 nov. 2005 à 17:00
sympa et efficace, dommage que je ne comprends rien pour tenter d'apdater juste la colorisation du code php avec une bbcode :S
wizard512 Messages postés 459 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 11 mai 2013 2
5 juil. 2005 à 04:50
Script tré dympa 10/10
blastmanu Messages postés 25 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 29 juin 2005
29 juin 2005 à 16:21
et le problème est bien là, c'est que le fichier existe j'ai même essayé avec le fichier Test.cpp fourni avec le colorateur
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
29 juin 2005 à 11:06
la seule erreur est là:

Warning: fopen(hello.cpp) [function.fopen]: failed to open stream: No such file or directory in c:\wamp\www\colorateur\Colorer.php on line 39

le fichier que tu veux ouvrir n'existe pas.
blastmanu Messages postés 25 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 29 juin 2005
29 juin 2005 à 03:51
Bonsoir j'ai un petit problème en utilisant le colorateur pouvez vous m'aider svp...

voila les erreur:
Warning: fopen(hello.cpp) [function.fopen]: failed to open stream: No such file or directory in c:\wamp\www\colorateur\Colorer.php on line 39

Warning: filesize() [function.filesize]: stat failed for hello.cpp in c:\wamp\www\colorateur\Colorer.php on line 40

Warning: fread(): supplied argument is not a valid stream resource in c:\wamp\www\colorateur\Colorer.php on line 40

Warning: fclose(): supplied argument is not a valid stream resource in c:\wamp\www\colorateur\Colorer.php on line 41

et mon fichier hello.cpp existe bien j'ai même essayé avec le fichier Test.cpp fourni avec le colorateur et ça marche pas

voilà comment j'implémente le code php pour coloriser mon hello.cpp:

<?php
include("colorateur/Colorer.php");
$source = new Colorer("Cpp", "hello.cpp", TRUE, FALSE);
$source->afficher();
?>
Mingain Messages postés 44 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 février 2006
24 avril 2005 à 18:48
pas mal sauf qu'il y a une fonction php : hisghlight(); me semble t-il qui le fait automatiquement ! Peut-être me résultat n'est-il pas aussi bon (je n'ai testé aucun des deux, j'utilise des logiciels qui le font automatiquement : Notepad++ (un bloc note orienté programmation tous langages), Webexpert et DevC++
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
19 nov. 2004 à 19:23
il est codé intégralement en C mais a l'origine, ce n'était qu'un regroupement de script perl... Depuis pour augmenter la vitesse, le C a été choisis.
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
19 nov. 2004 à 19:19
au temps pour moi, excuse moi. j'étais persuadé que PHP était codé intégralement en C, d'où ma remarque. je te prie de m'excuser :/
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
19 nov. 2004 à 17:52
je ne faisait que citer mes sources car Kirua y allait fort et j'avais raison... "ça va bien, la santé tout ça?" alors j'ai préféré donner mes sources pour qu'il aille vérifier...
cs_seyev Messages postés 93 Date d'inscription samedi 9 juin 2001 Statut Membre Dernière intervention 6 mai 2005 1
19 nov. 2004 à 09:55
coucou747 a raison... (et il n'y a pas que linux max qui de dise, mais je dois l'avoir aussi celui-la)
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
18 nov. 2004 à 19:41
a l'origine, php c'ets un groupement de scripts perl (c'ets linux mag qui l'a dit)

alors oui je vais bien

évidement que ce sont deux languages diférents, la base de php c'est perl
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
18 nov. 2004 à 19:38
"php est basé sur le perl"

ça va bien, la santé tout ça? c'est un langage apparenté par l'usage, mais Perl et PHP sont deux langages bien différents.

les preg_ ont été codées dans l'esprit Perl (Perl doit bien avoir été codé en C aussi, non?), et il faut croire que c'est plus efficace.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
18 nov. 2004 à 19:30
"preg c'est basé sur le perl c'est plus rapide que ereg... "=> php est basé sur le perl... et ensuite le moteur de php a été réécrit en C...
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
24 sept. 2004 à 22:17
me demande si la fonction highlight_string de php ne mets pas les liens. à voir

si tu implémentes les liens sur les fonctions en tt cas, essaye d'assembler une table de hashage en PHP, sinon ça sera trop lent et trop lourd.
cs_seyev Messages postés 93 Date d'inscription samedi 9 juin 2001 Statut Membre Dernière intervention 6 mai 2005 1
24 sept. 2004 à 21:37
Si tu ne connais pas trop les regex, je peux te conseille d'essayer ce logiciel : http://www.regexbuddy.com/index.html très sympa...

bye
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
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 !
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_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_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
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_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 !
Rejoignez-nous