IPB 2.1: BBCode, Using BBCode Class

Анализатор BBcode

Эта инструкция поможет Вам использовать Bbcode в модификациях и прочем.

Система использует класс обработчика и несколько подклассов. Следующим образом есть четыре главных функции: pre_db_parse Эта функция переводит текст (POST) в BBcode.

pre_edit_parse Эта функция переводит BBcode в текст.

Эта функция преобразовывает все Bbcode в нормальных готовый для отображения HTML код.

Первое необходимое действие состоит в том, чтобы загрузить функции в ваш сценарий.

//-----------------------------------------
// Загрузка и конфигурация парсера
//-----------------------------------------
 
require_once( ROOT_PATH."sources/handlers/han_parse_bbcode.php" );
$parser = new parse_bbcode();
$parser->ipsclass =& $this->ipsclass;
$parser->allow_update_caches = 1;
$parser->bypass_badwords = intval($this->ipsclass->member['g_bypass_badwords']);
 
$parser->allow_update_caches = [int] Управляет смайликами.
$parser->bypass_badwords = [int] Анализируется на так называемые "плохие слова" - слова из фильтра.

Если вы желаете преобразовывать отправляемый по почте текст в BBCode

FIXME

$parser->parse_smilies = 1;
$parser->parse_bbcode = 1;
 
$bbcode_text = $parser->pre_db_parse( $_POST['text'] );
 
$parser->parse_smilies = [int] Анализирует, заменять ли символы на смайлики или оставлять их прежними (в виде текста).
$parser->parse_bbcode = [int] This tells the BBCode classes whether to parse BBcode in this raw text</fixme>

Если желаете обработать Bbcode и HTML:

$parser->parse_html = 0;
$parser->parse_nl2br = 1;
 
$ready_to_print = $parser->pre_display_parse( $bbcode_text );
 
$parser->parse_html = [int] Это для преобразовании Bbcode в HTML
$parser->parse_nl2br = [int] Автоматически вставляет тег <br /> если HTML отключен (при нажатии enter, перевода строки)

Иногда, Вы можете сохранить неинтерпретируемый текст поста. IPB делает это с личными сообщениями, календарными событиями и объявлениями. В этом случае, Вы использовали бы следующее:

$parser->parse_html = 0;
$parser->parse_nl2br = 1;
$parser->parse_smilies = 1;
$parser->parse_bbcode = 1;
 
$bbcode_text = $parser->pre_db_parse( $_POST['text'] );
$ready_to_print = $parser->pre_display_parse( $bbcode_text );

Если Вы желаете преобразовать уже преобразованный BBCode назад в текст (например для использования в редактирующем экране) то используйте это:

$raw_post = $parser->pre_edit_parse( $parsed_text );

Конечно, если Вы используете мощный редактор текста (режим полного соответствия) тогда, Вы не хотите HTML, мощный редактор текста покажет неразобранным тэгам BBCode, и не отформатированному HTML. В этом случае используйте это:

$raw_post = $parser->convert_ipb_html_to_html( $parsed_text );
 

tips/bbcode.txt · Последние изменения: 2007/08/14 12:01 (внешнее изменение)

Работает на DokuWiki
© 2002—2006 ibresource
e-mail: wikiteam@iblink.ru