samclarke/sbb-code-parser

此包已被弃用且不再维护。作者建议使用 kokspflanze/sbb-code-parser 包。
关于此包的最新版本(0.1.2)没有可用的许可信息。

源自 https://github.com/samclarke/SBBCodeParser

0.1.2 2016-08-13 18:15 UTC

This package is auto-updated.

Last update: 2022-02-01 12:44:16 UTC


README

版权 (C) 2011, Sam Clarke (http://www.samclarke.com)

SBBCodeParser 是一个简单的 BBCode 解析器。

示例用法

$parser = new \SBBCodeParser\Node_Container_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();

添加自定义 BBCode 的示例

$bbcode = new \SBBCodeParser\BBCode('youtube', function($content, $attribs)
{
    if (preg_match('/http([s]?):\/\/(([w]{3}\.)?)youtube\.com\//s', $content)) {
        $uri = str_replace('http://', 'https://', $content);
    } else {
        $uri = 'https://www.youtube.com/embed/' . $content;
    }

	return '';
}, \SBBCodeParser\BBCode::BLOCK_TAG, false, array(), array('text_node'), \SBBCodeParser\BBCode::AUTO_DETECT_EXCLUDE_ALL);

$parser->add_bbcode($bbcode);

目前包含的默认 BBCode

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

许可

SBBCodeParser 采用 LGPL 许可证:https://gnu.ac.cn/licenses/lgpl.html