Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Подсветка текста с DLE 9.5 для DLE 9.х.
Скачать бесплатно Подсветка текста с DLE 9.5 для DLE 9.х.
Как вы уже знаете в 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;
}
$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;
}
$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]$txt = str_replace( "</code></pre>", '[/ code]', $txt );
Снова ищем
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>";
}
$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;
}
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;
}