bbcode_set_arg_parser
(PECL bbcode >= 0.10.2)
bbcode_set_arg_parser — Attache un analyseur pour gérer un autre jeu de règles
Description
bool bbcode_set_arg_parser
( resource
$bbcode_container
, resource $bbcode_arg_parser
)
Attache un autre analyseur à bbcode_container
.
Cet analyseur est utilisé uniquement lors que les arguments doivent être
analysés. Si cette fonction n'est pas utilisée, l'analyseur par défaut
est l'analyseur lui-même.
Liste de paramètres
-
bbcode_container
-
Ressource BBCode_Container, retournée par bbcode_create().
-
bbcode_arg_parser
-
Ressource BBCode_Container, retournée par bbcode_create().
Valeurs de retour
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Exemples
Exemple #1 Exemple avec bbcode_set_arg_parser()
- <?php
- /*
- * Génération des règles de BBCode pour l'analyseur principal
- */
- $arrayBBCode=array(
- 'quote'=> array('type'=>BBCODE_TYPE_ARG,
- 'open_tag'=>'<quote><h4>Source: </h4>',
- 'close_tag'=>'</quote>',
- 'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY|BBCODE_FLAGS_ARG_PARSING),
- 'b'=> array('type'=>BBCODE_TYPE_NOARG,
- 'open_tag'=>'<b>', 'close_tag'=>'</b>',
- 'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
- 'u'=> array('type'=>BBCODE_TYPE_NOARG,
- 'open_tag'=>'<u>', 'close_tag'=>'</u>',
- 'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
- 'i'=> array('type'=>BBCODE_TYPE_NOARG,
- 'open_tag'=>'<i>', 'close_tag'=>'</i>',
- 'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
- );
- /*
- * Génération des règles de BBCode pour les arguments
- */
- $arrayBBCode_arg=array(
- 'b'=> array('type'=>BBCODE_TYPE_NOARG,
- 'open_tag'=>'<b class="sub">', 'close_tag'=>'</b>',
- 'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
- 'u'=> array('type'=>BBCODE_TYPE_NOARG,
- 'open_tag'=>'<u>', 'close_tag'=>'</u>',
- 'flags'=>BBCODE_FLAGS_SMILEYS_OFF | BBCODE_FLAGS_REMOVE_IF_EMPTY | BBCODE_FLAGS_SMILEYS_OFF),
- 'i'=> array('type'=>BBCODE_TYPE_NOARG,
- 'open_tag'=>'<i>', 'close_tag'=>'</i>',
- 'flags'=>BBCODE_FLAGS_REMOVE_IF_EMPTY),
- );
- /*
- * Texte qui sera traité
- */
- $text=<<<EOF
- [quote="[b]Test[/b]"]
- Foo :)
- [/quote]
- [b]Bar example :)[/b] :)
- EOF;
- /*
- * Initialisation des deux analyseurs BBcode
- */
- $BBHandler=bbcode_create($arrayBBCode);
- $BBArgHandler=bbcode_create($arrayBBCode_arg);
- /*
- * Configuration des deux analyseurs
- */
- bbcode_set_flags($BBHandler,
- BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
- BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
- bbcode_set_flags($BBArgHandler,
- BBCODE_CORRECT_REOPEN_TAGS|BBCODE_DEFAULT_SMILEYS_ON|BBCODE_ARG_DOUBLE_QUOTE|
- BBCODE_ARG_SINGLE_QUOTE|BBCODE_ARG_HTML_QUOTE,BBCODE_SET_FLAGS_SET);
- /*
- * Configuration de $BBArgHandler comme analyseur d'arguments
- */
- bbcode_set_arg_parser($BBHandler,$BBArgHandler);
- /*
- * Ajout de la gestion des émoticônes
- */
- bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
- /*
- * Utilisation de l'analyseur principal
- */
- echo bbcode_parse($BBHandler,$text);
- ?>
L'exemple ci-dessus va afficher :
<quote><h4>Source: <b class="sub">Test</b></h4> Foo <img src="smiley.gif" alt=":)" /> </quote> <b>Bar example :)</b> <img src="smiley.gif" alt=":)" />