Подсветка кода с помощью стандартной функции PHP highlight_string
Во многих WEB приложениях требуется подсветить php код, такая задача возникает при
динамическом отображении php скриптов на странице сайта, в форумам посвящённых php и.т.п.
Подсветка осуществляется при помощи стандартной функции php: highlight_string()
Создайте файл, например index.php и вставьте в него следующий код:
<html>
<head>
<title>Подсветка кода с помощью стандартной функции PHP</title>
</head>
<body>
//PHP Скрипт
<?php
$code = '<?php
if(!$flag) {
echo("FlashRipper");
$var = 1;
}
else break;
?>';
highlight_string($code)
?>
</body>
</html>
Получится результат:
<?php
if(!$flag) {
echo("Сообщение");
$var = 1;
}
else break;
?>
Функция выделяет только код, заключенный в <? ... ?>. Таким образом, если вы захотите подсветить HTML код с помощью этой функции, вам придется пойти на хитрость:
<? ob_start(); ?> здесь ваш HTML код <? $buffer = ob_get_contents(); // Получаем содержимое буфера ob_end_flush(); // Выводит буфер и останавливаем буферизацию $buffer = "<?\n".stripslashes($buffer)."\n?>"; // оформляю как PHP-код $buffer = highlight_string($buffer,1); // Подсвеченный код $buffer = '<code>'.substr($buffer, 83,-26).'</code>'; // удаляю добавленную часть и теги управления цветом echo $buffer; ?>
.
Прокомментировать/Отблагодарить