(PECL bbcode >= 0.10.2)
bbcode_add_smiley — 顔文字をパーサに追加する
顔文字をパーサに追加します。
bbcode_create() が返す BBCode_Container リソース。
見つかった場合に置換の対象となる文字列。
顔文字が見つかった場合にそれを置換する文字列。
成功した場合に TRUE を、失敗した場合に FALSE を返します。
例1 bbcode_add_smiley() の使用例
<?php
/*
 * ルールを設定します
 */
$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'),
);
/* 
 * パースするテキスト
 */
$text=<<<EOF
[i] No parse Test [/i] :)
[b] Parsed, with smiley :( [/b]
[u] Parsed, with no smiley :D [/u]
EOF;
/*
 * パーサを初期化します
 */
$BBHandler=bbcode_create($arrayBBCode);
/*
 * 顔文字のルールをパーサに追加します
 */
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:\" />");
/*
 * テキストをパースします
 */
echo bbcode_parse($BBHandler,$text);
?>
上の例の出力は以下となります。
<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>