bbcode_add_smiley

(PECL bbcode >= 0.10.2)

bbcode_add_smiley顔文字をパーサに追加する

説明

bbcode_add_smiley ( resource $bbcode_container , string $smiley , string $replace_by ) : bool

顔文字をパーサに追加します。

パラメータ

bbcode_container

bbcode_create() が返す BBCode_Container リソース。

smiley

見つかった場合に置換の対象となる文字列。

replace_by

顔文字が見つかった場合にそれを置換する文字列。

返り値

成功した場合に 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>