Historique des modifications - Message

Message #6651

Sujet: Coloration syntaxique.


Type Date Auteur Contenu
Dernière modification 08-08-2009 12:57:57 nico
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';           //mod

Ensuite, 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.]');                       //mod

Et dans la fonction do_bbcode(); il suffit de mettre cette ligne
$text=preg_replace_callback("#\\[code=cpp\\](.+)\\[/code\\]#isU","cpp",$text);            //mod

Voila 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.
Création du message 08-08-2009 12:51:02 nico
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';           //mod

Ensuite, 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.]');                       //mod

Et dans la fonction do_bbcode(); il suffit de mettre cette ligne
$text=preg_replace_callback("#\\[code=cpp\\](.+)\\[/code\\]#isU","cpp",$text);            //mod

Voila 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.

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
596 invités en ligne
membre en ligne: -
RSS Feed