ncgamers / qikbb
另一个PHP BBCode实现。
1.0.1
2017-07-18 18:31 UTC
Requires
- php: >=7.0.0
Requires (Dev)
- phpunit/phpunit: 4.3.*
This package is not auto-updated.
Last update: 2024-09-14 19:58:27 UTC
README
另一个PHP BBCode实现。
致谢
首先,整体结构和代码严重基于jbowens/jBBCode,该软件遵循MIT许可。请务必查看他们的仓库。
其次,验证器几乎直接来自yiisoft/yii2验证器。Yii2遵循BSD许可。请务必查看他们的仓库。
关于
这不是一个专业项目,这只是我决定分享的东西。我想要一个比JBBCode更快的工具。当然,这也牺牲了一些JBBCode的功能,例如自动关闭标签。如果您想贡献,请打开一个issue或pull request,我会查看。然而,我的项目目标不是添加过多的功能。我想要一个快速的,所以减少了我不喜欢的东西。
作为一个简单的基准,与JBBCode相比,我看到的实现在小字符串上的性能快了两倍,在长字符串上快了五倍。
PHP版本支持
代码目前使用了一些PHP 7特性,如空合并运算符(??)。如果对这个代码有兴趣,我会创建一个移除PHP 7特性的PHP 5分支。
此外,需要PCRE正则表达式来使用此功能。然而,它仅用于标记解析输入字符串(与JBBCode的Tokenizer实现相比,提供了巨大的速度提升)。它也用于验证器。此外,还需要多字节字符串支持(通常在大多数发行版中找到)和如果您想有列表标签支持,则需要DOM(通常默认编译)。
快速文档
Composer
将以下内容添加到您的composer.json中
"require": { "ncgamers/qikbb": "1.0.*" }
PHP
// This assumes that auto-loading is already done use qikbb\Engine; use qikbb\sets\DefaultBBSet; $engine = new Engine(new DefaultBBSet()); echo $engine->parse('[b]bold[/b]'); // <span class="bold">bold</span>
额外
有关Composer的更多信息,请参阅文档。