- Автор темы
- #1
Нужно чтобы код который находиться внутри тега
Код:
подсвечивался или просто выводился красиво.
"Хак Подсветка HTML кода" неработает! У меня почемуто на dle 8.3 незаработал:nezn:
[B]Установка:[/B]
Открываем файл [B]engine/classes/parse.class.php[/B] и находим в нём следующие строки:
[PHP]function decodeBBCodes($txt, $use_html=TRUE, $wysiwig = "no") {
global $config;
$find = array (); $result = array ();
$txt=stripslashes($txt);[/PHP]
после них вставляем:
[PHP]########## Vbif update
$txt = preg_replace( "#<font color=\#(.+?)>#", '', $txt );
$txt = preg_replace( "#</font>#", '', $txt );
########## Vbif update[/PHP]
далее ниже находим строки:
[PHP]$txt = preg_replace( "#\s{1};#" , ";" , $txt );
$txt = preg_replace( "#\t#" , " ", $txt );
$txt = preg_replace( "#\s{2}#", " ", $txt );[/PHP]
и после них вставляем:
[PHP]########## 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[/PHP]
Пожалуйста только рабочие методы оставляйте. Dle 8.3.