- Автор: wget
- Обсудить на :на форуме
- Адаптировал: wget
- Уровень сложности исполнения: это делается простым копированием и нажиманием кнопки
![]()
Для начала был выбран js-скрипт для подсветки кода в браузере - jquery-syntaxhighlighter. 1. Скачаем и распакуем в папку с шаблоном наш Вы не можете скачивать файлы с нашего сайта ,рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем. . 2. Oн требует jquery, так что если ваш шаблон не использует его, то его тоже надо подключить.
<head><script type="text/javascript" src="{tpl_url}/syntaxhighlighter/scripts/jquery-1.4.2.min.js"></script></head>После того, как мы подключили JQuery, нужно подключить Highlighter и проинициализировать его:
<script type="text/javascript" src="{tpl_url}/syntaxhighlighter/scripts/jquery.syntaxhighlighter.min.js"></script><script type="text/javascript">$.SyntaxHighlighter.init();</script>Готово! Больше никаких правок в шаблон вносить не надо.
Теперь открываем engine/includes/classes/parse.class.php. Наш тег [ code ] будет использоваться так - [ code=<язык> ], поэтому будем изменять регулярку. Ищем такой фрагмент:
[code=html]
// Special BB tag [ code] - blocks all other tags inside while (preg_match("#\[code\](.+?)\[/code\]#ies", $content, $res))
{$content = str_replace($res[0], '
'.str_replace(array('[', '<'), array('[', '<'), $res[1]).'', $content); }
[/code]
И меняем на:
[code=html]
// Special BB tag [ code] - blocks all other tags inside
// assd: replaced: [code\] => [code=(.*?)\] | '' => '' while (preg_match("#\' | $res[1]).'' => $res[2]).'
(.+?)[/code]#ies", $content, $res))
{$content = str_replace($res[0], '<pre class="language-'.$res[1].'">'.str_replace(array('[', '<'), array('[', '<'), $res[2]).'</pre>', $content);
$content = str_replace('<br>', "\n", $content);
}Далее ищем:
$content = preg_replace("/<code>(.*?)<\/code>/es", "phphighlight('$1')", $content);
$content = str_replace("\n</p>\n", "</p>", $content);#Added to prevent adding s in highlighted code
preg_match_all("#<pre class=\\\"brush: (.*?)\\\">(.+?)</pre>#ies", $content, $ress);
foreach ($ress as $res) {
$content = str_replace($res[0],str_replace('<br />', "\n", $res[0]),$content);
}Можешь почитать и вот эту статейку "Падающий снег на сайт на css и js"
Это тоже интересно
- 13.08.13Notepad++





