(PECL bbcode >= 0.10.2)
bbcode_set_flags — Establece o cambia las opciones del analizador
$bbcode_container
, int $flags
[, int $mode
= BBCODE_SET_FLAGS_SET
] )Establece o cambia las opciones del analizador
bbcode_container
Resource BBCode_Container , retornado por bbcode_create().
flags
El flag que se debe aplicar a las opciones de bbcode_container
mode
Una de las constantes BBCODE_SET_FLAGS_* para aplicar, eliminar un set
de flag o reemplazar el set de flag por flags
.
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
Ejemplo #1 Ejemplo de uso de bbcode_set_flags()
<?php
/*
* Preparando el set de reglas
*/
$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>'),
);
/*
* Emparejando BBCode anidado incorrectamente
*/
$texto = "[i] Analizador [b] Autocorrección [/i] en el trabajo [/b]\n";
$BBHandler = bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler, $text);
// Habilitamos reapertura de elementos cerrados automáticamente
bbcode_set_flags($BBHandler, BBCODE_CORRECT_REOPEN_TAGS, BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler, $texto);
/*
* Desemparejado de BBCode anidado incorrectamente
*/
$texto = "[i] Analizador [b] Autocorrección [/i] en el trabajo\n";
echo bbcode_parse($BBHandler, $texto);
// Habilitamos cierre automático de etiquetas pendientes
bbcode_set_flags($BBHandler,
BBCODE_CORRECT_REOPEN_TAGS | BBCODE_AUTO_CORRECT,
BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler, $texto);
?>
El resultado del ejemplo sería:
<i> Analizador <b> Autocorrección </b></i> en el trabajo <i> Analizador <b> Autocorrección </b></i><b> en el trabajo </b> <i> Analizador [b] Autocorrección </i> en el trabajo <i> Analizador <b> Autocorrección </b></i><b> en el trabajo </b>