Подсветка кода на php
Среда, 27 июля 2011 г.Рубрика: PHP программирование -> Готовые решения
Метки: highlight | php
Просмотров: 411
Подписаться на комментарии по RSS
В этом уроке мы научимся подсвечивать код на PHP.
Довольно часто встречается какая-то информация в виде кода, например web-программы, и на многих сайтах она представляется ну просто не в читабельном виде.
В этом уроке мы Вам покажем как с помощью PHP легко сделать подсветку кода.
Мы часто принимая текст используем следующую функцию для защиты от исполняемого кода - htmlspecialchars
Но сегодня мы наоборот её использовать не будем, и пропустим этот исполняемый код.
Для подсветки кода мы будем использовать функцию highlight_string
Также при помощи функций для работы строк в php, мы проверим есть ли начальные и конечные теги в php коде, который мы получим введя в код нашего web-приложения, и мы этот код отобразим в читабельном виде.
Всяко будет лучше, если на сайте будет красивый и красочный код.
Теперь поговорим о коде программы.
А именно о пошаговых действиях:
1) Вбиваем код в переменную
2) Опускаем предупреждение
3) Экранируем все слеши
4) Если в коде нет закрывающих тегов php, то дописываем их
5) Убираем пробелы по бокам
6) Выводим этот код через функцию highlight_string
А вот и сам код:
<?php
// Записываем код в переменную
$light_code = 'echo "Hello";';
// Убираем предупреждение
error_reporting(0);
// Экранируем слеши
$light_code = stripslashes ( $light_code );
// Если в коде нет - начально знака php - то дописываем его
if( !strpos ( $light_code, "<?" ) && substr( $light_code, 0, 2 ) !="<?" ) {
$light_code="<?php\n".trim($light_code)."\n?>";
}
// Убираем пробелы по бокам
$light_code = trim($light_code);
// Выводим код с подсветкой при помощи функции highlight_string
echo highlight_string($light_code,true);
?>


функция highlight_string достаточно важная и полезная, значительно сокращает время работы с кодами