(PECL bbcode >= 0.10.2)
bbcode_set_flags — Устанавливает или изменяет настройки парсера
$bbcode_container
, int $flags
[, int $mode
= BBCODE_SET_FLAGS_SET
] ) : boolУстанавливает или изменяет настройки парсера
bbcode_container
BBCode_Container типа resource, возвращаемый функцией bbcode_create().
flags
Набор флагов, которые будут применены к настройкам bbcode_container
mode
Одна из констант BBCODE_SET_FLAGS_* используемых для установки, снятия указанного набора флагов или замены набора флагов другим набором.
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Пример #1 Пример использования bbcode_set_flags()
<?php
/*
* Подготовка набора правил
*/
$arrayBBCode=array(
'b'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<b>', 'close_tag'=>'</b>'),
'u'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<u>', 'close_tag'=>'</u>'),
'i'=> array('type'=>BBCODE_TYPE_NOARG,
'open_tag'=>'<i>', 'close_tag'=>'</i>'),
);
/*
* Парные неправильно вложенные BBCode
*/
$text="[i] Parser [b] Auto Correction [/i] at work [/b]\n";
$BBHandler=bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler,$text);
// Включение открытия автоматически закрытых элементов
bbcode_set_flags($BBHandler,BBCODE_CORRECT_REOPEN_TAGS,
BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler,$text);
/*
* Непарные неправильно вложенные BBCode
*/
$text="[i] Parser [b] Auto Correction [/i] at work\n";
echo bbcode_parse($BBHandler,$text);
// Включение автоматического закрытия для требующих этого тегов
bbcode_set_flags($BBHandler,
BBCODE_CORRECT_REOPEN_TAGS|BBCODE_AUTO_CORRECT,
BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler,$text);
?>
Результат выполнения данного примера:
<i> Parser <b> Auto Correction </b></i> at work <i> Parser <b> Auto Correction </b></i><b> at work </b> <i> Parser [b] Auto Correction </i> at work <i> Parser <b> Auto Correction </b></i><b> at work </b>