Upsuper's BBCode Parser Test


这个解析器的设计目的是希望构建一个开源的高效率、强容错、具有很好扩展性的使用 PHP 编写的 BBCode 泛用解析器。由于制作和测试时间不长,故疏忽错误难免,如有发现请及时告诉我。如果您对这个程序有什么好的建议、想法,或者您觉得这个还有很大改进的余地,请与我联系,请您指教。谢谢

关于解析器的具体说明请看下面部分

测试代码
 
Upsuper's BBCode ParserDiscuz! Code Parser
执行时间
执行时间 最大值
执行时间 最小值
执行时间 平均值
重新测试

该解析器目前支持如下标签:b(加粗)、i(斜体)、color(颜色)、size(字号)、font(字体)、align(对齐方式)、url(网址链接)、email(电子邮件)、img(图片)以及表格及其系列标签(table、tr、td、th)

其中大多设计为兼容 Discuz! code 的解析模式,以便对比。由于设计方式不相同,以及出于对 xhtml 标准的完美兼容和对未来泛用性的考虑,其余在 Discuz! code 中出现的标签暂不予支持。在用于对比的 Discuz! code parser 中也删减了这些部分。

另外,已有标签中也有部分使用方法与 Discuz! code 稍有出入,且由于容错方式不同,可能进行的解析不一样。如果输出显示结果不相同,请不要以此对比效率。

已有的与 Discuz! code 不同的改进包括:

除此之外,支持代码相同,但解析结果不同的还有:

其他部分基本与 Discuz! code 相容。

目前已知问题是,对表格和 size 标签的解析速度较慢(约慢 5%-20%),待进一步优化。同时 size 标签不能将纯数字转换带单位,这不符合 CSS 标准。

这个解析器的源代码暂时不公开(alpha 中),用于对比的精简版 Discuz! code parser 代码可以在这里查看:discuzcode.txt

测试中的最后时间对比的平均值为去掉一个最高值和去掉一个最低值后的结果。