08-08-2009 11:47:51
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 90.56.17.55
- Courriel
Suite à la proposition de Nico, nous allons essayer d'implanter une coloration syntaxique pour ce qui est du code C++.
étant pas vraiment une bête en ce qui concerne tout ce qui touche à la programmation WEB, tout aide sra la bienvnue ![]()
Force et sagesse...
Hors ligne
08-08-2009 12:04:55
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.255.159
- Courriel
dernier message de nico sur le sujet
Salut, j'ai reussi a faire des balises correctes(hier j'avais un message d'erreur)
Code c++ :
[/code.]
Il me disait qu'il manquait la balise d'ouverture [code.] car punbb verifie la syntaxe.
donc il suffit de modifier la fontion check_tag_order($text, &$error) vers la ligne 110, puis de remplacer ce texte:
[code]
// Look for regular code and quote tags
$c_start = strpos($text, '[code.]');
$c_end = strpos($text, '[/code.]');
$q_start = strpos($text, '[quote.]');
$q_end = strpos($text, '[/quote.]
');par:
// Look for regular code and quote tags
$c_start = strpos($text, '[code.]');
$c_end = strpos($text, '[/code.]');
$c_start = strpos($text, '[code=cpp.]'); //mod
$c_end = strpos($text, '[/code.]'); //mod
$q_start = strpos($text, '[quote.]');
$q_end = strpos($text, '[/quote.]
');Et dans do_bbcode on met a jour notre code :
$text=preg_replace_callback("#\\[code=cpp\\](.+)\\[/code\\]#isU","cpp",$text); //modVoila, cela serais bien que tu creée un topic pour la coloration syntaxique(enfin si ça te dis) et on se rejoint la-bas.
ps: Il faut supprimer les points que j'ai mit dans les balises, je les ai mit pour pouvoir afficher le code sur ce forum, autrement il me disait syntaxe error.
Force et sagesse...
Hors ligne
08-08-2009 12:07:35
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.255.159
- Courriel
Bon j'ai essayé, mais cela ne foncitonne pas vraiment
Quand je met [code=cpp.][/code.]
, je n'ai pas de coloration, et de plus lorsque que je veux repasser en [code.][/code.]
il me génère une erreur qui me dit en gros que je n'ai pas placé de balise[/code.].
Force et sagesse...
Hors ligne
08-08-2009 12:19:51
- nico
- Administrateurs

- Date d'inscription:
- Messages: 563
- IP: 82.232.128.163
- Courriel
Et mince, je crois que je me suis gouré de forum lol, j'ai pris fluxbb 1_2_21 fr. quelle est la version de ce forum?
Hors ligne
08-08-2009 12:34:30
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.255.159
- Courriel
FluxBB version française 1.2.12 basée sur FluxBB 1.2.12 ![]()
globalement, je ne suis pas un spécialiste, mais entre les deux version, cela ne doit pas changer radicalement le principe, non ?
Force et sagesse...
Hors ligne
08-08-2009 12:51:02
- nico
- Administrateurs

- Date d'inscription:
- Messages: 563
- IP: 82.232.128.163
- Courriel
Ok je vais voir si 'il y a des différences, mais en principe ça devrait marcher quand même, as-tu bien enlevé les points?
Au sinon a part ça mon exemple est pas terrible car j'ai declaré la fonction cpp($matches); dans la fonction do_bbcode($text); ce qui engendre des erreur du type " function cpp() previously declared)
Mais ça tombe bien, du coup j'ai rendu le code plus propre.
donc voila comment j'ai fait:
J'ai creer un fichier coloration_syntaxique.php (toujours dans include/), ou je place la fonction cpp();
<?php
function cpp($matches)
{
$matches[1]=preg_replace('#(void|int|char|long|double|float|bool|unsigned|true|false)( |;|:)#isU', '<span style="color:0000ff">$1$2$3</span>',$matches[1]);
return ($matches[1]);
}
?>Ensuite, dans le fichier parser.php on rajoute au debut du fichier:
require PUN_ROOT.'include/coloration_syntaxique.php'; //modEnsuite, dans la fonction check_tag_order($text, &$error) la manip reste la meme:
$c_start = strpos($text, '[code=cpp.]'); //mod
$c_end = strpos($text, '[/code.]'); //modEt dans la fonction do_bbcode(); il suffit de mettre cette ligne
$text=preg_replace_callback("#\\[code=cpp\\](.+)\\[/code\\]#isU","cpp",$text); //modVoila l'avantage de faire ça est qu'après on à plus besoins de toucher au fichier parser.php qui est assez saoulant avec ces centaines de lignes.
On modifira juste le fichier coloration_syntaxique.php.
Hors ligne
08-08-2009 12:58:01
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.255.159
- Courriel
OK, je teste dès que le forum est libre d'utilisateur ![]()
Force et sagesse...
Hors ligne
08-08-2009 13:07:12
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.255.159
- Courriel
toujours le meme soucis que précedement:
tmyke Ecris:
Bon j'ai essayé, mais cela ne foncitonne pas vraiment
Quand je met [code=cpp.][/code.]
, je n'ai pas de coloration, et de plus lorsque que je veux repasser en [code.][/code.]
il me génère une erreur qui me dit en gros que je n'ai pas placé de balise[/code.].
Force et sagesse...
Hors ligne
08-08-2009 13:11:52
- nico
- Administrateurs

- Date d'inscription:
- Messages: 563
- IP: 82.232.128.163
- Courriel
Peut-tu m'envoyer le fichier parser.php que tu as modifié dans ma boite mail stp ? comme ca je compare avec ma version, merci.
Hors ligne
08-08-2009 13:23:40
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.255.159
- Courriel
Force et sagesse...
Hors ligne
08-08-2009 13:51:40
- nico
- Administrateurs

- Date d'inscription:
- Messages: 563
- IP: 82.232.128.163
- Courriel
A ouai mince, j'avais pa vu que la balise [code.] marchait plus, en fait c'est logique car j'utilise 2 fois le mot[/code.] pour la vérification,
donc en attentant que je trouve une parade, on a qu'a utilisé une autre orthographe comme par exemple
Code cpp. :
[/Code.] (avec des majuscules).
ce qui nous donne donc ça:
[code] $c_start = strpos($text, '[Code=cpp.]'); //mod
$c_end = strpos($text, '[/Code.]'); //modEt dans la fonction do_bbcode il faut placer l'instruction au tout debut, car toi tu l'a mis dans le if pour les quotes:
function do_bbcode($text)
{
$text=preg_replace_callback("#\\[Code=cpp\\](.+)\\[/Code\\]#isU","cpp",$text); //modVoila, là ça devrait marcher.
Hors ligne
08-08-2009 14:01:14
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.255.159
- Courriel
C'est pas gagné ![]()
j'ai un beau
Error 500 - Internal server error
Un problème inattendu est survenu.
Veuillez réessayer ultérieurement.
quand j'essais de modifer les balises...
Force et sagesse...
Hors ligne
08-08-2009 14:10:56
- nico
- Administrateurs

- Date d'inscription:
- Messages: 563
- IP: 82.232.128.163
- Courriel
Je vois vraiment pas d'ou vient cette erreur, quesque tu veut dire par modifier les balises ? Quand tu met les majuscules ça plante ?
au sinon met le code dans cet ordre là pour voir:
$c_start = strpos($text, '[Code=cpp.]'); //mod
$c_end = strpos($text, '[/Code.]'); //mod
$c_start = strpos($text, '[code.]');
$c_end = strpos($text, '[/code.]');Hors ligne
08-08-2009 14:36:42
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.255.159
- Courriel
Cette fois c'est moi qui ai fait une boulette, je recommence le test ![]()
Force et sagesse...
Hors ligne
08-08-2009 14:41:35
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.255.159
- Courriel
Bon, en fait j'avais fait une erreur de syntaxe.
Maintenant, quand je met un code dans les balsies [Code=cpp.] et [/Code.]; il me met Il manque la balise d'ouverture pour [/code.].
pour valider
mon message.
Si je met la balise [/code.], pas de soucis, mais j'ai un text normal, sans code et encore moins avec coloration.
Force et sagesse...
Hors ligne
08-08-2009 14:50:42
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.255.159
- Courriel
D'ailleurs, je l'ai laissé, c'est la version modifiée qui tourne en ce moment, cela te permettra de mieux voir je pense.![]()
Code c++ :
float test = 0.0F; Force et sagesse...
Hors ligne
08-08-2009 14:50:53
- nico
- Administrateurs

- Date d'inscription:
- Messages: 563
- IP: 82.232.128.163
- Courriel
peut tu remettre le fichier modifié en ligne stp. ![]()
Code c++ :
float test = 0.0F; float test = 0.0F;Hors ligne
08-08-2009 14:53:33
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.255.159
- Courriel
Mon serveur est HS pour le moment, dès que cela reviens je poste 8)
Force et sagesse...
Hors ligne
08-08-2009 15:16:13
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.255.159
- Courriel
Bon, je passe par un autre serveur:
http://www.n3xt-d.org/_download/parser.phpt
Force et sagesse...
Hors ligne
08-08-2009 15:28:38
- nico
- Administrateurs

- Date d'inscription:
- Messages: 563
- IP: 82.232.128.163
- Courriel
Mais c'est l'ancien fichier ça?!, peut-tu mettre les dernieres modifs que tu as fait stp.
Hors ligne
08-08-2009 15:57:19
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.255.159
- Courriel
J'ai refait un truc de base avec les modif.
Tu peux tester, c'est lui qui tourne en ce moment. Pour ce qui est des balise traditionnelles, pas d'erreur cette fois, cela tourne.
Par contre, toujours pas de coloration entre les balises
Code cpp. :
et [/Code.]
donc:
[Code=cpp] float test = 0.0F;Voici le listing de ce fichier : http://www.portail-irrlicht.fr/_upload/archives/parser.phpt
Force et sagesse...
Hors ligne
08-08-2009 16:02:40
- nico
- Administrateurs

- Date d'inscription:
- Messages: 563
- IP: 82.232.128.163
- Courriel
bein oui cette ligne:
$text=preg_replace_callback("#\\[Code=cpp\\](.+)\\[/Code\\]#isU","cpp",$text); //modIl ne faut pas la mettre dans le if(strpos($text, 'quote') !== false), mais au debut de la fonction
Comme ça.
function do_bbcode($text)
{
$text=preg_replace_callback("#\\[Code=cpp\\](.+)\\[/Code\\]#isU","cpp",$text); //mod
global $lang_common, $pun_user;
if (strpos($text, 'quote') !== false)
{
$text = str_replace('[quote]', '</p><blockquote><div class="incqbox"><p>', $text);
$text = preg_replace('#\\[quote=("|"|\\'|)(.*)\\\\1\\]#seU', '"</p><blockquote><div class=\\"incqbox\\"><h4>".str_replace(array(\\'[\\', \\'\\\\"\\'), array(\\'[\\', \\'"\\'), \\'$2\\')." ".$lang_common[\\'wrote\\'].":</h4><p>"', $text);
$text = preg_replace('#\\[\\/quote\\]\\s*#', '</p></div></blockquote><p>', $text);
}Hors ligne
08-08-2009 16:09:27
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.255.159
- Courriel
Effectivement, cela fonctionne mieux.
Là c'est cool, cela semble fonctionner. ![]()
Par contre, le code n'est pas dans un cadre à liserais sur les bord ![]()
Force et sagesse...
Hors ligne
08-08-2009 16:29:20
- nico
- Administrateurs

- Date d'inscription:
- Messages: 563
- IP: 82.232.128.163
- Courriel
Oui on y va doucement ![]()
je vais voir ce que je peut faire pour le cadre, il reste plus qu'a trouver le bon bleu parceque là on voit rien
A dessuite.
Hors ligne
08-08-2009 16:41:55
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 86.218.255.159
- Courriel
nico Ecris:
Oui on y va doucement
Tout à fait, surtout que c'est toi qui fait tout le boulot.
nico Ecris:
il reste plus qu'a trouver le bon bleu parceque là on voit rien![]()
A dessuite.
Oui, la soucis est de trouver des couleurs qui s'adapte au différents thèmes du forum (perso par exemple je suis en Mercury, donc
un fond plutôt gris).
Force et sagesse...
Hors ligne



