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\' ');
php.ini の設定により動作が変化します。
名前 | デフォルト | 変更可能 | 変更履歴 |
---|---|---|---|
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 |
以下に設定ディレクティブに関する 簡単な説明を示します。
ignore_user_abort
bool
デフォルトは false
。true
に変更すると、
クライアントが接続を破棄した後もスクリプトは終了しません。
ignore_user_abort() も参照ください。
highlight.bg
string
highlight.comment
string
highlight.default
string
highlight.html
string
highlight.keyword
string
highlight.string
string
構文ハイライト表示モードの色。 <font color="??????"> 形式のものは全て動作します。
browscap
string
browser capabilities file (ブラウザ機能ファイル) の 名前 (例: 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\' ');
*** 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; }