deanblackborough / php-quill-renderer
此包已废弃,不再维护。作者建议使用nadar/quill-delta-parser包。
将 quill 插入 delta 渲染为 HTML、Markdown 和 GitHub 风格的 Markdown
v4.01.0
2021-12-15 13:30 UTC
- dev-master
- v4.01.0
- v4.00.2
- v4.00.1
- v4.00.0
- v3.19.0.x-dev
- v3.18.1
- v3.18.0
- v3.17.4
- v3.17.3
- v3.17.2
- v3.17.1
- v3.17.0
- v3.16.0
- v3.15.0
- v3.14.3
- v3.14.2
- v3.14.1
- v3.14.0
- v3.13.4
- v3.13.3
- v3.13.2
- v3.13.1
- v3.13.0
- v3.12.1
- v3.12.0
- v3.11.0
- v3.10.2
- v3.10.1
- v3.10.0
- v3.02.0
- v3.01.0
- v3.00.0
- v2.03.x-dev
- v2.03.1
- v2.03.0
- v2.02.1
- v2.02.0
- v2.01.0
- v2.00.1
- v2.00.0
- v1.01.1
- v1.01.0
- v1.00.0
- v0.90.0
- v0.80.1
- v0.80.0
- v0.70.0
- v0.60.1
- v0.60.0
- v0.50.0
- v0.40.0
- v0.30.0
- v0.20.1
- v0.20
- v0.10
This package is auto-updated.
Last update: 2023-08-27 20:34:27 UTC
README
PHP Quill Renderer
将 quill 插入 delta 渲染为 HTML、Markdown 和 GitHub 风格的 Markdown。
只读
看起来 Quill 不会有新版本了,我决定将仓库设置为只读,我不会再为这个包投入更多时间。
描述
Quill delta 渲染器,将 delta 转换为 HTML 和 Markdown,支持的 Quill 属性列在下面的表格中,目标是最终支持所有 Quill 功能。
Quill 是一个现代的 WYSIWYG 编辑器,旨在兼容性和可扩展性。
安装
使用 PHP Quill Renderer
最简单的方法是通过 composer。运行 composer require deanblackborough/php-quill-renderer
,或者您可以直接将我的 src 目录中的类包含到您的库或应用程序中。
使用
通过 API,单个 $quill_json
try { $quill = new \DBlackborough\Quill\Render($quill_json); $result = $quill->render(); } catch (\Exception $e) { echo $e->getMessage(); } echo $result;
通过 API,多个 $quill_json,通过数组传入
try { $quill = new RenderMultiple($quill_json, 'HTML'); $result_one = $quill->render('one'); $result_two = $quill->render('two'); } catch (\Exception $e) { echo $e->getMessage(); } echo $result_one; echo $result_two;
直接,解析然后渲染,单个 $quill_json - 更新于 v3.10.0
$parser = new \DBlackborough\Quill\Parser\Html(); $renderer = new \DBlackborough\Quill\Renderer\Html(); $parser->load($quill_json)->parse(); echo $renderer->load($parser->deltas())->render();
直接,解析然后渲染,多个 $quill_json - 更新于 v3.10.0
$parser = new \DBlackborough\Quill\Parser\Html(); $renderer = new \DBlackborough\Quill\Renderer\Html(); $parser->loadMultiple(['one'=> $quill_json_1, 'two' => $quill_json_2)->parseMultiple(); echo $renderer->load($parser->deltasByIndex('one'))->render(); echo $renderer->load($parser->deltasByIndex('two'))->render();
Quill 属性和文本流支持
属性 | v1+ | v2+ | v3 HTML | v3 Markdown |
---|---|---|---|---|
粗体 | 是 | 是 | 是 | 是 |
斜体 | 是 | 是 | 是 | 是 |
链接 | 是 | 是 | 是 | 是 |
删除线 | 是 | 是 | 是 | 不适用 |
脚本:下标 | 是 | 是 | 是 | 不适用 |
脚本:上标 | 是 | 是 | 是 | 不适用 |
下划线 | 是 | 是 | 是 | 不适用 |
标题 | 是 | 是 | 是 | 是 |
图片 | 是 | 是 | 是 | 是 |
视频 | 否 | 否 | 是 | 是 |
列表 | 是 | 是 | 是 | 是 |
子列表 | 否 | 否 | 否 | 否 |
缩进/空格 | 否 | 否 | 否 | 否 |
文本方向 | 否 | 否 | 否 | 不适用 |
颜色 | 否 | 否 | 否 | 不适用/未知 |
字体 | 否 | 否 | 否 | 不适用/未知 |
文本对齐 | 否 | 否 | 否 | 不适用 |
块引用 | 否 | 否 | 否 | 否 |
代码块 | 否 | 否 | 否 | 否 |
自定义属性 | 否 | 否 | 是 | 不适用 |
换行符 | 否 | 否 | 是 | 是 |
段落 | 是 | 是 | 是 | 是 |
属性 | HTML 标签 | Markdown 令牌 |
---|---|---|
粗体 | <strong> |
** |
斜体 | <em> |
* |
链接 | <a> |
[文本](链接) |
删除线 | <s> |
|
脚本:下标 | <sub> |
|
脚本:上标 | <sup> |
|
下划线 | <u> |
|
标题 | <h[n]> |
#[n] |
图片 | <img> |
 |
视频 | <iframe> |
 |
列表 | <ul> <ol> |
* & [n] |
版权和许可
deanblackborough/php-quill-renderer 库版权 © Dean Blackborough,并许可在MIT许可(MIT)下使用。
致谢
- carlos [修复错误] v1.01.0。
- pdiveris [问题 #43] - Null 插入。
- Mark Davison - 在v3.00.0版本中引导我走向正确的方向。
- tominventisbe [问题 #54] - Parser::load() 不重置 deltas 数组。
- tominventisbe [问题 #55] - 将具有多个属性的图像 deltas 错误地传递到复合 delta。
- bcorcoran [问题 #81] - 建议将需求回退到必需需求。
- kingga [问题 #86] - 视频支持。
- Jonathanm10 [问题 #87] - 插入后忽略新行,错误报告。
- raphaelsaunier [问题 #87] - 插入后忽略新行,错误位置。
- Basil [问题 #101] - 解析器忽略只有换行符的插入。
- Lee Hesselden [PR #104] - 允许使用 style:color="#xxx" 定义的 span 样式颜色 delta。 (功能将由[问题 #106]扩展)
- Alex [PR #112] - 如果合理,将自定义属性分配给样式属性。
- davidraijmakers [问题 #108] - 标题不支持子元素。
- philippkuehn [问题 #109] - 多列表输出不正确,段落未关闭。
- mechanicalgux [问题 #117] - 复合 delta 不知道它们可以是链接。
- Lode Claassen [PR #121] - 异常消息中缺少支持的格式。
- Lode Claassen [PR #122] - 验证代码 DRY。
- Lode Claassen [PR #123] - 允许将已解码的 json 传递给解析器。
- Nicholas Humphries [PR #128] - 不支持具有属性的视频。
- hybridvision [问题 #132] - 当它们不是第一个内容时,渲染单个项目列表有问题。
编码标准和文档致谢
- Lode Claassen [PR #113] - 关键字大小写错误。
- Theo W - 读取说明文档更新