SBBCodeParser – PHP BBCode parser class

SBBCodeParser is a simple PHP BBCode parser class which makes it easy to add your own BBCodes.

SBBCodeParser is licensed under the LGPL and the source code is available on GitHub.

Example usage:

$parser = new SBBCodeParser_Document();

$parser->add_emoticons(array(
    ':)' => 'http://localhost/Classes/SCEditor-punbb/punbb-1.3.5/img/smilies/smile.png',
    '=)' => 'http://localhost/Classes/SCEditor-punbb/punbb-1.3.5/img/smilies/smile.png'
));

echo $parser->parse('This should be [b]bold[/b] and this should be [i]italic[/i]')
    ->detect_links()
    ->detect_emails()
    ->detect_emoticons()
    ->get_html();

Example of adding a custom BBCode:

$bbcode = new SBBCodeParser_BBCode('youtube', function($content, $attribs)
{
    if(substr($content, 0, 23) === 'http://www.youtube.com/')
        $uri = $content;
    else
        $uri = 'http://www.youtube.com/v/' . $content;

    return '';
}, SBBCodeParser_BBCode::BLOCK_TAG, false, array(), array('text_node'), SBBCodeParser_BBCode::AUTO_DETECT_EXCLUDE_ALL);

$parser->add_bbcode($bbcode);

Currently included default BBCodes:

b
i
strong
em
u
s
blink
sub
sup
ins
del
right
left
center
justify
note
hidden
abbr
acronym
icq
skype
bing
google
wikipedia
youtube
vimeo
flash
paypal
pastebin
gist
twitter
tweets
googlemaps
pdf
scribd
spoiler
tt
pre
code
php
quote
font
size
color
list
ul
ol
li
*
table
th
h
tr
row
r
td
col
c
notag
nobbc
noparse
h1
h2
h3
h4
h5
h6
big
small
br
sp
hr
anchor
goto
jumpto
img
email
url

You need JavaScript enabled to see comments.