php如何使用BBCode?
解决方案 »
- PHP编辑网页内容相关问题
- 字符串截取
- thinkphp htaccess问题
- Fatal error: Cannot access empty property
- 怎样判断一个页面中关闭操作是点的IE的关闭按钮,还是页面本身的关闭按钮阿,谢谢各位大虾了,急,急
- mssql查询语句问题
- 超级菜鸟请大家帮忙-用php搜索数据库的问题
- 关于编码转换,应该怎么弄?
- 请高手指点类的问题
- 请LeeMaRS(想做DP杀手的小菜虎)到我发的贴子领分,并非导分,解答请看http://expert.csdn.net/Expert/topic/1432/1432731.xml?temp=3.94555
- PHP模拟登录问题
- PHP调用JAVA的类的问题
插件下载地址:http://bbpress.org/plugins/topic/bbcode-lite/bbcode-lite.zip
使用方法:
1.下载文件并解压;
2.将bbcode-lite.php上传到my-plugins文件夹;
3.在后台插件里面激活。
BBcode有两个主要目的:
1. 便利
最为通用的HTML语法虽然已相当简单易懂,但仍需要一定时间学习后才能上手,因此BBcode采用更为直觉易学的语法,转换为HTML的工作则交由系统来代劳。
2. 安全
过去BBS、论坛、Blog也曾经设计开放HTML语法让用户使用,但却衍生出语法输入错误时造成整页排版错乱、有心人利用HTML语法进行XSS式的攻击与破坏等问题。由于BBcode的转换为系统机械式的行为,所以可以有效避免人为输入错误的问题,而BBcode为预先设计好的语法,也就是说意图以BBcode达成所有的HTML语法效果是不可能的,相当于一种语法过滤,如此便可避免所有可能发生的恶意破坏。
BBcode并没有一个共同的标准,各个BBS、论坛、Blog等网络应用程序可能会有自己独创的BBcode,但基本上仍有一些语法因为被广泛采用而成为共通语法。
如:<?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
No parse Test :)
Parsed, with smiley :(
Parsed, with no smiley :D
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);
?> 以上例程会输出:<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>