Fonctions BBCode
PHP Manual

bbcode_create

(PECL bbcode >= 0.9.0)

bbcode_createCré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="{PARAM}">''close_tag'=>'</a>',
                    
'default_arg'=>'{CONTENT}',
                    
'childs'=>'b,i'),
    
'img'=>      array('type'=>BBCODE_TYPE_NOARG,
                    
'open_tag'=>'<img src="''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>
[i]Italic Text[/i]
<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>


Fonctions BBCode
PHP Manual