您可以更改高亮显示的颜色,如下所示
<?php
ini_set("highlight.comment", "#008000");
ini_set("highlight.default", "#000000");
ini_set("highlight.html", "#808080");
ini_set("highlight.keyword", "#0000BB; font-weight: bold");
ini_set("highlight.string", "#DD0000");
?>
如您在以上示例中看到的,您甚至可以添加其他样式,如粗体文本,因为值直接设置为 DOM 属性“style”。
此外,此函数仅高亮显示文本,如果它以前缀“<?php”开头。但此函数也可以高亮显示其他类似格式(不完美,但胜于无),如 HTML、XML、C++、JavaScript 等。我使用以下函数来高亮显示不同类型的文件,并且效果很好
<?php
function highlightText($text)
{
$text = trim($text);
$text = highlight_string("<?php " . $text, true); $text = trim($text);
$text = preg_replace("|^\\<code\\>\\<span style\\=\"color\\: #[a-fA-F0-9]{0,6}\"\\>|", "", $text, 1); $text = preg_replace("|\\</code\\>\$|", "", $text, 1); $text = trim($text); $text = preg_replace("|\\</span\\>\$|", "", $text, 1); $text = trim($text); $text = preg_replace("|^(\\<span style\\=\"color\\: #[a-fA-F0-9]{0,6}\"\\>)(<\\?php )(.*?)(\\</span\\>)|", "\$1\$3\$4", $text); return $text;
}
?>
请注意,它也会删除<code>标签,因此您直接获得格式化的文本,这使您可以更自由地处理结果。
我个人建议将这两者结合起来,以便为不同类型的文件提供不同的高亮颜色集,从而获得良好的高亮显示功能。
<?php
function highlightText($text, $fileExt="")
{
if ($fileExt == "php")
{
ini_set("highlight.comment", "#008000");
ini_set("highlight.default", "#000000");
ini_set("highlight.html", "#808080");
ini_set("highlight.keyword", "#0000BB; font-weight: bold");
ini_set("highlight.string", "#DD0000");
}
else if ($fileExt == "html")
{
ini_set("highlight.comment", "green");
ini_set("highlight.default", "#CC0000");
ini_set("highlight.html", "#000000");
ini_set("highlight.keyword", "black; font-weight: bold");
ini_set("highlight.string", "#0000FF");
}
$text = trim($text);
$text = highlight_string("<?php " . $text, true); $text = trim($text);
$text = preg_replace("|^\\<code\\>\\<span style\\=\"color\\: #[a-fA-F0-9]{0,6}\"\\>|", "", $text, 1); $text = preg_replace("|\\</code\\>\$|", "", $text, 1); $text = trim($text); $text = preg_replace("|\\</span\\>\$|", "", $text, 1); $text = trim($text); $text = preg_replace("|^(\\<span style\\=\"color\\: #[a-fA-F0-9]{0,6}\"\\>)(<\\?php )(.*?)(\\</span\\>)|", "\$1\$3\$4", $text); return $text;
}
?>