Help/PhpHighlightPlugin
The PhpHighlight plugin pretty-prints PHP code using the php-function:highlight-string.
Usage
You specify options for the plugin on the same line as <<PhpHighlight, and put the code on the following lines, until the final >>:
<<PhpHighlight [wrap?] [color options] code to be highlighted >>
Description
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.
Options
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.
Note: bg no longer exists in PHP 5.4.
Examples
PHP with default colors from php.ini:
function hello() {
echo "Hello World<p>";
}
HTML with embedded PHP
Here we have to use wrap=0 to prevent automatic wrapping, and escape '?>' as '? >':
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo "<p>Hello World</p>\n"; ?>
</body>
</html>
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 */
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);
}
Known Problems
<<PhpHighlight testing[somearray]; testing~[badworkaround~]; >>
will swallow "[somearray]"
Authors
- Martin Geisler
- Carsten Klapp (added ability to override colors defined in php.ini)
See Also
- SyntaxHighlighter plugin for highlighting other languages.