bbcode_create
(PECL bbcode >= 0.9.0)
bbcode_create — Crée une ressource BBCode
Description
resource bbcode_create
([ array
$bbcode_initial_tags
] )Cette fonction retourne une nouvelle ressource BBCode, utilisée pour analyser les chaînes BBCode.
Liste de paramètres
-
bbcode_initial_tags
-
Un tableau associatif contenant les noms des balises en tant que clés, et les paramètres requis afin d'analyser correctement le code BBCode en tant que valeurs. Les paires clés/valeurs suivantes sont supportées :
- flags optionnel - un jeu de drapeaux, basé sur les constantes BBCODE_FLAGS_*.
- type requis - un entier, indiquant le type de drapeau. Utilisez les constantes BBCODE_TYPE_*.
- open_tag requis - la chaîne HTML de remplacement pour la balise ouvrante.
- close_tag requis - la chaîne HTML de remplacement pour la balise fermante.
- default_arg optionnel - utilise cette valeur en tant qu'argument par défaut si aucun n'est fourni et que tag_type est du type OPTARG.
- content_handling optionnel - Indique la fonction de rappel utilisée pour modifier le contenu. La notation orientée objet est supportée uniquement depuis la version 0.10.1. La signature de la fonction de rappel est de la forme : (string $content, string $argument)
- param_handling optionnel - Spécifie la fonction de rappel utilisée pour modifier l'argument. La notation orientée objet est supportée uniquement depuis la version 0.10.1. La signature de la fonction de rappel est de la forme : (string $content, string $argument)
- childs optionnel - Liste des enfants acceptés en tant que balise. Le format de la liste est une succession de chaînes, séparées par une virgule. Si la liste commence par un point d'exclamation, ce sera la liste des enfants rejetées comme balises.
- parent optionnel - Liste des enfants acceptés pour la balise. Le format de la liste est une succession de chaînes, séparées par une virgule.
Valeurs de retour
Retourne un BBCode_Container
Exemples
Exemple #1 Exemple avec bbcode_create()
<?php $arrayBBCode=array( ''=> array('type'=>BBCODE_TYPE_ROOT, 'childs'=>'!i'), 'i'=> array('type'=>BBCODE_TYPE_NOARG, 'open_tag'=>'<i>', 'close_tag'=>'</i>', 'childs'=>'b'), 'url'=> array('type'=>BBCODE_TYPE_OPTARG, 'open_tag'=>'<a href="/manuel-php/" data-lbox="1" title="Manuel PHP - ', 'close_tag'=>'">', 'close_tag'=>'</a>', 'default_arg'=>'{CONTENT}', 'childs'=>'b,i'), 'img'=> array('type'=>BBCODE_TYPE_NOARG, 'open_tag'=>'<img src="[IMG#php#', 'close_tag'=>']" />', 'childs'=>''), 'b'=> array('type'=>BBCODE_TYPE_NOARG, 'open_tag'=>'<b>', 'close_tag'=>'</b>'), ); $text=<<<EOF [b]Bold Text[/b] [i]Italic Text[/i] [url]http://www.php.net/[/url] [url=http://pecl.php.net/][b]Content Text[/b][/url] [img]http://static.php.net/www.php.net/images/php.gif[/img] [url=http://www.php.net/] [img]http://static.php.net/www.php.net/images/php.gif[/img] [/url] EOF; $BBHandler=bbcode_create($arrayBBCode); echo bbcode_parse($BBHandler,$text); ?>
L'exemple ci-dessus va afficher :
<b>Bold Text</b>
Italic Text
<a href="http://www.php.net/">http://www.php.net/</a>
<a href="http://pecl.php.net/"><b>Content Text</b></a>
<img src="http://static.php.net/www.php.net/images/php.gif" />
<a href="http://www.php.net/">
[img]http://static.php.net/www.php.net/images/php.gif[/img]
</a>