Хак Как сделать подсветку [code]?

Тема в разделе "DLE", создана пользователем dalera, 26 мар 2010.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. dalera

    dalera Создатель

    Регистр.:
    24 сен 2009
    Сообщения:
    42
    Симпатии:
    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#"   , "&nbsp;&nbsp;&nbsp;&nbsp;", $txt );
    $txt = preg_replace( "#\s{2}#", "&nbsp;&nbsp;", $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.
     
  2. yavasilek

    yavasilek vasilek_gorbunok

    Регистр.:
    5 окт 2008
    Сообщения:
    1.175
    Симпатии:
    423
    да не надо править файлы движки!!тот хак для подстветки в редакторе, а тебе надо для тега. Правь свой css
     
    dalera нравится это.
  3. dalera

    dalera Создатель

    Регистр.:
    24 сен 2009
    Сообщения:
    42
    Симпатии:
    1
    Что нужно в CSS добавить?
     
  4. dragonstyle

    dragonstyle Читатель

    Заблокирован
    Регистр.:
    17 ноя 2008
    Сообщения:
    525
    Симпатии:
    479
    открываешь свой шаблон, потом папку css, потом style.css или другой, если нет этого, ищешь .quote и на этой строчке background color.

    Поиск в руки.
     
Статус темы:
Закрыта.