The PhpHighlightPlugin pretty-prints PHP code using the php-function:highlight-string.


You specify options for the plugin on the same line as the <?plugin, and put the code on the following lines, until the final ?>:

<?plugin PhpHighlight [wrap?] [color options]
code to be highlighted


Depending on the wrap option, then the plugin will take care of adding <?php and ?> to the code before passing it to php-function:highlight-string. If the PHP delimiters were added, then the plugin removes them again from the highlighted string, before presenting it.


Automatic Wrapping

If you don't want the plugin to automatically wrap the source code in <?php and ?>, then set wrap to 0. The default value is 1 which means that the plugin takes care of adding and removing <?php and ?> automatically.

If you set wrap to 0, then you'll be able to mix PHP code with HTML. The plugin will then translate '< ?php' into '<?php' and '? >' into '?>' to allow you to start and stop PHP mode in your code.

Color Options

The plugin accepts optional color arguments which correspond to the highlight settings in php.ini. Specified colors must be a valid hexadecimal color or HTML 4 color name in lowercase, such as '#0f0344' or blue. You can set the following options:

string, comment, keyword, bg, default, and html


PHP with default colors from php.ini:

function hello() {
"Hello World<p>";

HTML with embedded PHP

Here we have to use wrap=0 to prevent automatic wrapping, and escape '?>' as '? >':

    <title>PHP Test</title>
    <?php echo "<p>Hello World</p>\n"?>

C Source

Although highlight_string() was designed with PHP code in mind it is suitable for basic syntax-highlighting of most C code because the two syntax are similar.

#include <stdio.h>
/* Get load */
    if ((
fp fopen("/proc/loadavg""r")) == NULL) {
syslog(LOG_ERR_("%s %s: unable to open %s: %s"), _("FATAL ERROR:"),


Martin Geisler and Carsten Klapp