O-uCoz.com

спонсор

Подсветка текста с DLE 9.5 для DLE 9.х

03.07.2025 просмотров 208 | комментарии 0


Как вы уже знаете в DLE 9.5 появилась встроенная подсветка кода ! Решил вырезать эту функцию и прикрутить к DLE 9.4 (Возможно и ниже.)

Установка
1.Кидаем в engine/classes папку highlight берем с дистрибутива DLE 9.5

2.Открываем index.php находим
Код

if ($config['fast_search'] AND $user_group[$member_id['user_group']]['allow_search']) {  

  $ajax .= <<<HTML  
var dle_search_delay = false;  
var dle_search_value = '';  
  $(function(){  
  FastSearch();  
});  
  HTML;  

}


Ниже вставляем
Код

if (strpos ( $tpl->result['content'], "<pre><code>" ) !== false) {  

  $js_array[] = "engine/classes/highlight/highlight.code.js";  

  $ajax .= <<<HTML  

  $(function(){  
  $('pre code').each(function(i, e) {hljs.highlightBlock(e, null)});  
});  
  HTML;  

}  


3.Открываем engine/classes/parse.class.php находим
Код

$source = preg_replace( "#\[code\](.+?)\[/code\]#is", "<!--code1--><div class=\"scriptcode\"><!--ecode1-->\\1<!--code2--></div><!--ecode2-->", $source );  
  $source = preg_replace( "#\[(left|right|center)\](.+?)\[/\\1\]#is", "<div align=\"\\1\">\\2</div>", $source );


Заменяем на
Код

$source = preg_replace( "#\[code\](.+?)\[/code\]#is", "<pre><code>\\1</code></pre>", $source );  

  if ( !$parse->allow_code ) {  
  $source = preg_replace( "#<pre><code>(.+?)</code></pre>#ies", "\$this->clear_p_tag('\\1')", $source );  
  }  

  $source = preg_replace( "#\[(left|right|center)\](.+?)\[/\\1\]#is", "<div align=\"\\1\">\\2</div>", $source );


Ищем
Код

$txt = str_replace( "</li><!--dle_li--><li>", '[*]', $txt );


Ниже вставляем
Код

$txt = str_replace( "<pre><code>", '[code]', $txt );  
  $txt = str_replace( "</code></pre>", '[/ code]', $txt );


Уберите пробел в [/ code]

Снова ищем
Код

function build_thumb($gurl = "", $url = "", $align = "") {


Выше вставляем
Код

function clear_p_tag($txt) {  

  $txt = stripslashes( $txt );  

  $txt = preg_replace('/<p[^>]*>/', '', $txt);  
  $txt = str_replace("</p>", "", $txt);  

  return "<pre><code>".$txt."</code></pre>";  

  }


4.Открываем templates/ваш шаблон/style/engine.css и в самый низ добавляем
Код

/*---подсветка текста в теге [ code ]---*/  
  pre code {  
  display: block; padding: 0.5em;  
  background: #f9fafa;  
  border: 1px solid #dce7e7;  
  overflow:auto;  
  white-space: pre;  
}  

  pre .comment,  
  pre .template_comment,  
  pre .diff .header,  
  pre .doctype,  
  pre .lisp .string,  
  pre .javadoc {  
  color: #93a1a1;  
  font-style: italic;  
}  

  pre .keyword,  
  pre .css .rule .keyword,  
  pre .winutils,  
  pre .javascript .title,  
  pre .method,  
  pre .addition,  
  pre .css .tag,  
  pre .lisp .title {  
  color: #859900;  
}  

  pre .number,  
  pre .command,  
  pre .string,  
  pre .tag .value,  
  pre .phpdoc,  
  pre .tex .formula,  
  pre .regexp,  
  pre .hexcolor {  
  color: #2aa198;  
}  

  pre .title,  
  pre .localvars,  
  pre .function .title,  
  pre .chunk,  
  pre .decorator,  
  pre .builtin,  
  pre .built_in,  
  pre .lisp .title,  
  pre .identifier,  
  pre .title .keymethods,  
  pre .id {  
  color: #268bd2;  
}  

  pre .tag .title,  
  pre .rules .property,  
  pre .django .tag .keyword {  
  font-weight: bold;  
}  

  pre .attribute,  
  pre .variable,  
  pre .instancevar,  
  pre .lisp .body,  
  pre .smalltalk .number,  
  pre .constant,  
  pre .class .title,  
  pre .parent,  
  pre .haskell .label {  
  color: #b58900;  
}  

  pre .preprocessor,  
  pre .pi,  
  pre .shebang,  
  pre .symbol,  
  pre .diff .change,  
  pre .special,  
  pre .keymethods,  
  pre .attr_selector,  
  pre .important,  
  pre .subst,  
  pre .cdata {  
  color: #cb4b16;  
}  

  pre .deletion {  
  color: #dc322f;  
}  

  pre .tex .formula {  
  background: #eee8d5;  
}


Готово.
Рубрика: Хаки для DLE Теги: 9.5, текста, Подсветка, Для, dle, null, 9.х
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Навигация
Горячие новости
Теги
Последние коментарии
DUMASS написал:
Спасибо за статью)
Статистика