ncgamers/qikbb

另一个PHP BBCode实现。

1.0.1 2017-07-18 18:31 UTC

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的更多信息,请参阅文档