Подсветка кода на php

Среда, 27 июля 2011 г.
Рубрика: 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);
?>
Поделиться...
twitter.com facebook.com vkontakte.ru mail.ru google.com bobrdobr.ru
Комментариев: 1
  1. функция highlight_string достаточно важная и полезная, значительно сокращает время работы с кодами

Оставьте свой комментарий!

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор, укажите пароль и свой действующий email.

(обязательно)