Главная » Php, Коды, Материалы » Подсветка синтаксиса PHP, HTML без плагинов и расширений
Апр
04

Подсветка синтаксиса PHP, HTML без плагинов и расширений

Однажды я уже рассказывал о том, как реализовать подсветку синтаксиса в PHP без плагинов, скриптов и тд. используя только стандартную функцию highlight. Сегодня хочу добавить несколько моментов.
При публикации первой части, я понимал что не совсем удобно сначала создавать файл, потом заливать его на сайт и только в итоге делать вывод. Теперь я хотел бы избежать данной беготни и показать вам как можно сделать вывод кода PHP в несколько раз быстрее.
Функции которые мы использовали в предыдущий раз могут использоваться только для файлов (show_source, highlight_file), а вот мы рассмотрим highlight_string — для строк переменной.

Рассмотрим код:

[php]
<?php // присваиваем переменной $code кусок кода который необходимо вывести
$code = ‘<?php
if (а !== 1) {
echo("Условие выполнено");
}
else echo("Сброс");
?>';
highlight_string($code) // выводим с помощью функции highlight_string содержимое переменной $code
?>





[/php]

Если же вам необходимо подсветить HTML код, то:

[php]
<? ob_start(); ?>
— Вставляем HTML код —
<?
$tom = ob_get_contents(); //буфер, получаем содержимое
ob_end_flush(); // Останавливается буферизация
$tom = "<?\n".stripslashes($tom)."\n?>"; // происходит оформление как PHP кода
$tom = highlight_string($tom,1); // Здесь происходит подсвечивание данных с буфера
$tom = ‘<code>’.substr($tom, 83,-26).'</code>'; // удаляются теги управления цветом
echo $tom; // вывод значения переменной
?>
[/php]

Уверен что проблем с использованием этой (highlight_string) функции возникнуть не должно, если все же у вас не получится что-либо пишите об этом в комментариях, помогу, выслушаю.

Также не забываем подписываться на новые материалы в форме ниже.

 

 



Понравилась статья? Сделай приятно ее автору, поделись с друзьями:


Хотите получать обновления данного блога на EMail?

Введите адрес Почтового Ящика:




Подтвердите подписку в письме пришедшем на Почту, после чего начнете получить рассылку.