Настройка во время выполнения
Поведение этих функций зависит от установок в php.ini.
Name | Default | Changeable | Changelog |
---|---|---|---|
ignore_user_abort | "0" | PHP_INI_ALL | |
highlight.string | "#DD0000" | PHP_INI_ALL | |
highlight.comment | "#FF8000" | PHP_INI_ALL | |
highlight.keyword | "#007700" | PHP_INI_ALL | |
highlight.bg | "#FFFFFF" | PHP_INI_ALL | Removed in PHP 6.0.0. |
highlight.default | "#0000BB" | PHP_INI_ALL | |
highlight.html | "#000000" | PHP_INI_ALL | |
browscap | NULL | PHP_INI_SYSTEM |
Краткое разъяснение конфигурационных директив.
- ignore_user_abort boolean
-
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\' ');
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; }
*** 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; }