boring-dragon/editorjs-simple-html-parser

EditorJS 库的简单 JSON 到 HTML 解析器

v1.1.6 2024-04-19 04:30 UTC

This package is auto-updated.

Last update: 2024-09-19 05:33:39 UTC


README

codecov License: GPL v3

Editor.js 的简单 PHP 解析器

解析来自 Editor.js 的干净 JSON 数据

安装

composer require boring-dragon/editorjs-simple-html-parser

使用

use Durlecode\EJSParser\Parser;

$html = Parser::parse($data)->toHtml();

其中 $data 是来自 Editor.js 的干净 JSON 数据 请参阅下面的 $data 示例

{
    "time" : 1583848289745,
    "blocks" : [
        {
            "type" : "header",
            "data" : {
                "text" : "Hello World",
                "level" : 2
            }
        }
    ],
    "version" : "2.16.1"
}

默认情况下,这将生成带有 prs 前缀的 CSS 类的 HTML,因此如果您想更改它,请参考以下示例

use Durlecode\EJSParser\Parser;

$parser = new Parser($data);

$parser->setPrefix("cat");

$parsed = $parser->toHtml();

支持的工具

方法

toHtml()

返回生成的 HTML

setPrefix(string $prefix)

设置 CSS 类前缀

getPrefix()

返回当前前缀

getVersion()

返回 Editor.js 内容版本

getTime()

返回 Editor.js 内容时间戳

getBlocks()

返回 Editor.js 内容块

生成的 HTML

代码
<div class="prs-code">
    <pre>
        <code></code>
    </pre>
</div>
嵌入
(实际上与 YouTube、Codepen 和 Gfycat 一起工作)
<div class="prs-embed">
    <iframe src="" height="300"></iframe>
</div>
分隔符
<hr class="prs-delimiter">
标题
<h2 class="prs-h2">Lorem</h2>
链接
<a href="https://github.com/" target="_blank" class="prs-link">
    <div class="prs-link-container-with-img">
        <div class="prs-link-title">Title</div>
        <div class="prs-link-description">Description</div>
        <div class="prs-link-url">https://example.com/</div>
    </div>
    <div class="prs-link-img-container">
        <img src="https://example.com/cat.png" alt="">
    </div>
</a>
有序列表
<div class="prs-list">
    <ol>
        <li></li>
    </ol>
</div>
无序列表
<div class="prs-list">
    <ul>
        <li></li>
    </ul>
</div>
段落
<p class="prs-paragraph">
    <code class="inline-code">Pellentesque</code> 
    <i>malesuada fames</i> 
    <mark class="cdx-marker">tempus</mark>
</p>
图片
<figure class="prs-image">
    <img src="" class="prs-image-border prs-image-background" alt="">
    <figcaption></figcaption>
</figure>
警告
<div class="prs-warning">
    <ion-icon name="information-outline" size="large" aria-label="information outline"></ion-icon>
    <div>
        <p>Title</p>
        <p>Message</p>
    </div>
</div>
原始数据
<div class="prs-raw">
    Raw HTML ...
</div>