Он работает без тега [code], поэтому его использовать не требуется.
1. Заходим на сайт GeSHi и скачиваем оттуда последнюю версию
2. Заливаем папку geshi в папку /addons
3. Редактируем файл /classes/others/class_ownbb.php
Вставляем туда следующий код:
Цитата
#GeSHi
class OwnBbCode_geshi extends BaseOwnBbCode
{
public function PreDisplay($tag,$params,$content,$canuse)
{
include_once $this->Mainclass->root_path.'addons/geshi/geshi.php';
if(!$canuse)
return $this->RestrictDisplay();
$params=$params ? Strings::ParseParams($params,$tag) : array();
if(isset($params['noparse']))
{
unset($params['noparse']);
return parent::PreEdit($tag,$params,$content,true);
}
$content = strtr($content, array(
'<br />' => "",
'<' => '<',
'>' => '>',
'&' => '&',
' ' => ' ',
)
);
$content=str_replace("\t",' ',$content);
if (!isset($params['lang'])){
$params['lang']='php';}
$geshi = new GeSHi($content,$params['lang']);
$geshi->set_header_type(GESHI_HEADER_NONE);
$geshi->set_tab_width('600px');
$content = $geshi->parse_code();
$content = str_replace("\n", "", $content);
return '<code><div style="padding: .5em 1em;border-left: 5px solid #bbbbbb;background-color: #dddddd;font: 11px sans-serif;">'.$content.'<hr><div style="text-align:right;color:#999999">Язык: <b>'.$params['lang'].'</b></div></div></code>';
}
}
class OwnBbCode_geshi extends BaseOwnBbCode
{
public function PreDisplay($tag,$params,$content,$canuse)
{
include_once $this->Mainclass->root_path.'addons/geshi/geshi.php';
if(!$canuse)
return $this->RestrictDisplay();
$params=$params ? Strings::ParseParams($params,$tag) : array();
if(isset($params['noparse']))
{
unset($params['noparse']);
return parent::PreEdit($tag,$params,$content,true);
}
$content = strtr($content, array(
'<br />' => "",
'<' => '<',
'>' => '>',
'&' => '&',
' ' => ' ',
)
);
$content=str_replace("\t",' ',$content);
if (!isset($params['lang'])){
$params['lang']='php';}
$geshi = new GeSHi($content,$params['lang']);
$geshi->set_header_type(GESHI_HEADER_NONE);
$geshi->set_tab_width('600px');
$content = $geshi->parse_code();
$content = str_replace("\n", "", $content);
return '<code><div style="padding: .5em 1em;border-left: 5px solid #bbbbbb;background-color: #dddddd;font: 11px sans-serif;">'.$content.'<hr><div style="text-align:right;color:#999999">Язык: <b>'.$params['lang'].'</b></div></div></code>';
}
}
4. Добавляем bb-код geshi, и можем использовать
Geshi поддерживает около 100 языков программирования, поэтому при использовании кода необходимо указывать, какую подсветку использовать.
Например [geshi lang=autoit]
Если он не будет указан, по умолчанию берется язык php
Я начинающий кодер, поэтому если вы заметите баги, пишите мне
И по оформлению в стиль тоже можете писать свои пожелания.