Хак Хак Подсветка HTML кода
Очень удобный Хак который помогает тем кто добавляет новости с примером кода. Данный Хак для DataLife Engine выводит подсветку HTML в текстах взятых в тег code тем самым сам текст выглядит более наглядным для пользователей сайта.
Установка:
Открываем файл engine/classes/parse.class.php и находим в нём следующие строки:
function decodeBBCodes($txt, $use_html=TRUE, $wysiwig = "no") {
global $config;
$find = array (); $result = array ();
$txt=stripslashes($txt);
после них вставляем:
########## Vbif update
$txt = preg_replace( "#<font color=\#(.+?)>#", '', $txt );
$txt = preg_replace( "#</font>#", '', $txt );
########## Vbif update
далее ниже находим строки:
$txt = preg_replace( "#\s{1};#" , ";" , $txt );
$txt = preg_replace( "#\t#" , " ", $txt );
$txt = preg_replace( "#\s{2}#", " " , $txt );
и после них вставляем:
########## Vbif update
// Открывающие и закрывающие тэги
$tegs = array("'<\?php'si", "'<\?'si", "'\?>'si");
$replace = array("<font color=#FF0000><?php</font>",
"<font color=#FF0000><?</font>",
"<font color=#FF0000>?></font>");
$txt = preg_replace($tegs, $replace, $txt);
// Подсветка комментариев
$txt = preg_replace("'(/\*.*?\*/)'si", "<font color=#777777>\\1</font>", $txt);
// Подсветка переменных
$txt = preg_replace("'([\$]{1,2}[0-9A-Za-z_]+)'si", "<font color=#660000>\\1</font>", $txt);
// Подсветка знаков равенства
$txt = preg_replace("'(\s={1,3}\s)'", "<font color=#8000FF>\\1</font>", $txt);
// Подсветка зарезервированных слов
$str = array("'(\becho)'si", "'(\bprint)'si", "'(\bwhile)'si", "'(\bif)'si",
"'(\bifelse)'si","'(\belse)'si", "'(\bfor\b)'si", "'(\bswitch\b)'si",
"'(\bcase)'si", "'(\breturn\b)'si", "'(\barray)'si", "'(\bfunction\b)'si",
"'(\bforeach)'si","'(\bclass\b)'si", "'(\bglobal\b)'si", "'(\bvar\b)'si",
"'(\bisset)'si", "'(\bempty)'si", "'(\bfalse\b)'si", "'(\btrue\b)'si",
"'(\bas\b)'si", "'(\bempty)'si", "'(\bfalse\b)'si", "'(\btrue\b)'si",
"'(\binclude)'si","'(\binclude_once)'si", "'(\brequire)'si", "'(\brequire_once)'si");
$replace = array_fill(0, count($str), "<font color=#0000FF>\\1</font>");
$txt = preg_replace($str, $replace, $txt);
########## Vbif update
Установка завершена!
Демо тут же :)