To pass more than one css rule, but also a class, an id, or any html attribute to highlighted element, we can escape a quote to close the inline styling:
ini_set('highlight.string', '#F8F8F8 ; font-size:1.4em\" class=\'string\' ');
The behaviour of these functions is affected by settings in php.ini.
Name | Default | Changeable | Changelog |
---|---|---|---|
ignore_user_abort | "0" | INI_ALL |
|
highlight.string | "#DD0000" | INI_ALL |
|
highlight.comment | "#FF8000" | INI_ALL |
|
highlight.keyword | "#007700" | INI_ALL |
|
highlight.default | "#0000BB" | INI_ALL |
|
highlight.html | "#000000" | INI_ALL |
|
browscap | NULL | INI_SYSTEM |
Here's a short explanation of the configuration directives.
ignore_user_abort
bool
false
by default. If changed to true
scripts will not be terminated
after a client has aborted their connection.
See also ignore_user_abort().
highlight.bg
string
highlight.comment
string
highlight.default
string
highlight.html
string
highlight.keyword
string
highlight.string
string
Colors for Syntax Highlighting mode. Anything that's acceptable in <font color="??????"> would work.
browscap
string
Name (e.g.: browscap.ini) and location of browser capabilities file. See also get_browser().
To pass more than one css rule, but also a class, an id, or any html attribute to highlighted element, we can escape a quote to close the inline styling:
ini_set('highlight.string', '#F8F8F8 ; font-size:1.4em\" class=\'string\' ');
*** Additions to the previous message ***
To change the style directly from a CSS file, it is recommended to only go through classes instead of hard-coding it.
<?php
// Create an array with default php functions
$functions = array("default", "html", "keyword", "string", "comment");
// Replace color code (ex: #FF8000) with class name (ex:"highlight-comment")
foreach ($functions as $value) {
ini_set("highlight.$value", "highlight-$value;");
}
$content = highlight_file($filename, true);
// or
$content = highlight_string($string, true);
// Convert style="color: highlight-function" into class="highlight-function" into $content
// It allows you to modify only the default functions
foreach ($functions as $value) {
$content = preg_replace("/style=\"color: highlight-$value;\"/", "class=\"highlight-$value\"", $content);
}
?>
And in the CSS file (for example) :
.highlight-html { color: #000000; }
.highlight-default { color: #0000bb; }
.highlight-keyword { color: #007700; font-weight: bold; }
.highlight-string { color: #dd0000; }
.highlight-comment { color: #ff8000; }
To change the style directly from a CSS file, it is recommended to only go through classes instead of hard-coding it.
<?php
$functions = array("default", "html", "keyword", "string", "comment");
foreach ($functions as $value) {
ini_set("highlight.$value", "highlight-$value;");
}
?>
And in the CSS file (for example) :
.highlight-html { color: #000000; }
.highlight-default { color: #0000bb; }
.highlight-keyword { color: #007700; font-weight: bold; }
.highlight-string { color: #dd0000; }
.highlight-comment { color: #ff8000; }