(PECL bbcode >= 0.10.2)
bbcode_set_flags — Spécifie ou modifie des options d'analyseurs BBcode
$bbcode_container
, int $flags
[, int $mode
= BBCODE_SET_FLAGS_SET
] ) : boolSpécifie ou modifie des options d'analyseur BBCode.
bbcode_container
Ressource BBCode_Container, retournée par bbcode_create().
flags
Le jeu de drapeaux qui doivent être appliquée aux options de
bbcode_container
mode
Une des constantes BBCODE_SET_FLAGS_* à utiliser, ou supprimer.
Cette fonction retourne TRUE
en cas de succès ou FALSE
si une erreur survient.
Exemple #1 Exemple avec bbcode_set_flags()
<?php
/*
* Préparation des règles
*/
$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 mal imbriqué
*/
$text="[i] Parser [b] Auto Correction [/i] at work [/b]\n";
$BBHandler=bbcode_create($arrayBBCode);
echo bbcode_parse($BBHandler,$text);
// Activation de la réouverture automatique des éléments fermés
bbcode_set_flags($BBHandler,BBCODE_CORRECT_REOPEN_TAGS,
BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler,$text);
/*
* BBCode mal imbriqué
*/
$text="[i] Parser [b] Auto Correction [/i] at work\n";
echo bbcode_parse($BBHandler,$text);
// Activation de la fermeture automatique des éléments ouverts
bbcode_set_flags($BBHandler,
BBCODE_CORRECT_REOPEN_TAGS|BBCODE_AUTO_CORRECT,
BBCODE_SET_FLAGS_SET);
echo bbcode_parse($BBHandler,$text);
?>
L'exemple ci-dessus va afficher :
<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>