(PECL bbcode >= 0.10.2)
bbcode_add_smiley — Adds a smiley to the parser
$bbcode_container
   , string $smiley
   , string $replace_by
   )Adds a smiley to the parser
bbcode_containerBBCode_Container resource, returned by bbcode_create().
smileyThe string that will be replaced when found.
replace_byThe string that replace smiley when found.
   Returns TRUE on success or FALSE on failure.
  
Example #1 bbcode_add_smiley() usage example
<?php
/*
 * Prepare the rule set 
 */
$arrayBBCode=array(
    ''=>         array('type'=>BBCODE_TYPE_ROOT,  
                       'childs'=>'!i'),
    'b'=>        array('type'=>BBCODE_TYPE_NOARG, 
                       'open_tag'=>'<b>', 
                       'close_tag'=>'</b>'),
    'u'=>        array('type'=>BBCODE_TYPE_NOARG, 
                       'open_tag'=>'<u>', 
                       'close_tag'=>'</u>', 
                       'flags'=>BBCODE_FLAGS_SMILEYS_OFF),
    'i'=>        array('type'=>BBCODE_TYPE_NOARG, 
                       'open_tag'=>'<i>', 
                       'close_tag'=>'</i>', 
                       'childs'=>'b'),
);
/* 
 * Parsed Text
 */
$text=<<<EOF
[i] No parse Test [/i] :)
[b] Parsed, with smiley :( [/b]
[u] Parsed, with no smiley :D [/u]
EOF;
/*
 * Init the parser
 */
$BBHandler=bbcode_create($arrayBBCode);
/*
 * Add Smiley rules to parser
 */
bbcode_add_smiley($BBHandler, ":)", "<img src=\"smiley.gif\" alt=\":)\" />");
bbcode_add_smiley($BBHandler, ":(", "<img src=\"sad.gif\" alt=\":(\" />");
bbcode_add_smiley($BBHandler, ":D", "<img src=\"happy.gif\" alt=\":D\" />");
bbcode_add_smiley($BBHandler, ":p", "<img src=\"tong.gif\" alt=\":p\" />");
bbcode_add_smiley($BBHandler, ":|", "<img src=\"special.gif\" alt=\":|\" />");
bbcode_add_smiley($BBHandler, ":6:", "<img src=\"six.gif\" alt=\":6:\" />");
/*
 * Parse the text
 */
echo bbcode_parse($BBHandler,$text);
?>
The above example will output:
<i> No parse Test </i> <img src="smiley.gif" alt=":)" />
<b> Parsed, with smiley <img src="sad.gif" alt=":(" /> </b>
<u> Parsed, with no smiley :D </u>