Настройка во время выполнения
Поведение этих функций зависит от установок в php.ini.
Имя | По умолчанию | Меняемо | Список изменений |
---|---|---|---|
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 | Удалено в PHP 5.4.0. |
highlight.default | "#0000BB" | PHP_INI_ALL | |
highlight.html | "#000000" | PHP_INI_ALL | |
browscap | NULL | PHP_INI_SYSTEM |
Краткое разъяснение конфигурационных директив.
-
ignore_user_abort
boolean -
FALSE
по умолчанию. Если изменяется наTRUE
, то скрипты не будут остановлены после того как клиент разорвет соединение.См. также ignore_user_abort().
-
highlight.bg
string -
highlight.comment
string -
highlight.default
string -
highlight.html
string -
highlight.keyword
string -
highlight.string
string -
Цвета для режима подсвечивания (Syntax Highlighting). Всё, что приемлемо в <font color="??????">, будет работать.
-
browscap
string -
Имя (н-р: browscap.ini) и расположение файла возможностей браузера. См. также 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; }