Description
PluginColorationPhp affiche le code PHP en coloration syntaxique en utilisant la fonction php-function: highlight-string
Usage
Vous devez spécifier les options de ce plugin sur la même ligne que <?plugin puis écrire le code sur les lignes suivantes jusqu'au ?> final :
<?plugin PhpHighlight [wrap?] [color options] code devant être coloré ?>
Dépendant de l'option wrap, le code prendra soin d'ajouter <?php et ?> au code avant de la passer à la fonction highlight-string. Si les délimiteurs php sont déjà présents alors le plugin les enlèvera encore de la chaîne colorée avant de les afficher.
Options
- Enveloppement automatique
Si vous ne voulez pas que le plugin enveloppe automatiquement le code source dans <?php et ?> alors positionnez wrap sur 0. La valeur par défaut est 1, ce qui signifie que le plugin prendra soin d'ajouter ou d'enlver <?php et ?> automatiquement.
Si vous mettez wrap à 0 alors vous aurez la possibilité de mélanger du PHPO avec de l'HTML. Le plugin transformera '< ?php' en <?php' et '? >' en '?>' pour vous permettre de démarrer et d'arrêter le mode PHP dans votre code.
- Options des couleurs
Le plugin accepte des arguments optionnels pour les couleurs qui correspondent à la coloration définie dans php.ini. Les couleurs doivent être spécifiées par des valeurs hexadécimales ou des noms de couleur HTML 4 en minuscules comme '#0f0344' ou blue. Vous pouvez utiliser les options suivantes :
string, comment, keyword, bg, default, and html
Exemples
Code PHP avec les couleurs par défaut de php.ini :
function hello() {
echo "Hello World<p>";
}
HTML avec PHP inclus
Ici nous devons utiliser wrap=0 pour prévenir l'enveloppement automatique et fermer '?>' comme '? >' :
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo "<p>Hello World</p>\n"; ?>
</body>
</html>
Source en C
Bien que highlight_string() ait été conçu avec du code PHP à l'esprit, il est utilisable pour des colorations syntaxique de code C car les deux syntaxe sont similaires.
#include <stdio.h>
/* Get load */
int
getload(void)
{
if ((fp = fopen("/proc/loadavg", "r")) == NULL) {
syslog(LOG_ERR, _("%s %s: unable to open %s: %s"), _("FATAL ERROR:"),
"getload()", "/proc/loadavg", strerror(errno));
exit(EX_OSFILE);
}
fclose(fp);
}
Auteurs
Martin Geisler gimpster@gimpster.com et Carsten Klapp carstenklapp@users.sourceforge.net.