EditorJsRenderer
in package
Renders Editor.js JSON content to HTML.
Supports standard Editor.js block types and custom shortcodes.
Table of Contents
Properties
- $_shortcodeParser : ShortcodeParser|null
Methods
- __construct() : mixed
- render() : string
- Render Editor.js JSON data to HTML
- parseInlineContent() : string
- Parse inline content (may contain shortcodes or simple HTML)
- renderBlock() : string
- Render a single block
- renderCode() : string
- Render code block
- renderDelimiter() : string
- Render delimiter block
- renderEmbed() : string
- Render embed block
- renderHeader() : string
- Render header block
- renderImage() : string
- Render image block
- renderList() : string
- Render list block
- renderListItem() : string
- Render a single list item (handles both strings and nested structures)
- renderParagraph() : string
- Render paragraph block
- renderQuote() : string
- Render quote block
- renderRaw() : string
- Render raw HTML block
- renderUnknown() : string
- Render unknown block type
- sanitizeHtml() : string
- Sanitize HTML to prevent XSS while allowing safe tags
Properties
$_shortcodeParser
private
ShortcodeParser|null
$_shortcodeParser
= null
Methods
__construct()
public
__construct([ShortcodeParser|null $shortcodeParser = null ]) : mixed
Parameters
- $shortcodeParser : ShortcodeParser|null = null
render()
Render Editor.js JSON data to HTML
public
render(array<string|int, mixed> $editorData) : string
Parameters
- $editorData : array<string|int, mixed>
-
Editor.js JSON data (decoded)
Return values
string —Rendered HTML
parseInlineContent()
Parse inline content (may contain shortcodes or simple HTML)
private
parseInlineContent(string $content) : string
Parameters
- $content : string
Return values
stringrenderBlock()
Render a single block
private
renderBlock(array<string|int, mixed> $block) : string
Parameters
- $block : array<string|int, mixed>
-
Block data
Return values
string —Rendered HTML
renderCode()
Render code block
private
renderCode(array<string|int, mixed> $data) : string
Parameters
- $data : array<string|int, mixed>
Return values
stringrenderDelimiter()
Render delimiter block
private
renderDelimiter(array<string|int, mixed> $data) : string
Parameters
- $data : array<string|int, mixed>
Return values
stringrenderEmbed()
Render embed block
private
renderEmbed(array<string|int, mixed> $data) : string
Parameters
- $data : array<string|int, mixed>
Return values
stringrenderHeader()
Render header block
private
renderHeader(array<string|int, mixed> $data) : string
Parameters
- $data : array<string|int, mixed>
Return values
stringrenderImage()
Render image block
private
renderImage(array<string|int, mixed> $data) : string
Parameters
- $data : array<string|int, mixed>
Return values
stringrenderList()
Render list block
private
renderList(array<string|int, mixed> $data) : string
Parameters
- $data : array<string|int, mixed>
Return values
stringrenderListItem()
Render a single list item (handles both strings and nested structures)
private
renderListItem(mixed $item, string $style) : string
Editor.js List v1.9+ supports nested lists where items can be:
- Simple strings: "Item text"
- Objects with nested items: { "content": "Item text", "items": [nested items] }
Parameters
- $item : mixed
-
The list item (string or array)
- $style : string
-
List style (ordered/unordered)
Return values
string —Rendered HTML
renderParagraph()
Render paragraph block
private
renderParagraph(array<string|int, mixed> $data) : string
Parameters
- $data : array<string|int, mixed>
Return values
stringrenderQuote()
Render quote block
private
renderQuote(array<string|int, mixed> $data) : string
Parameters
- $data : array<string|int, mixed>
Return values
stringrenderRaw()
Render raw HTML block
private
renderRaw(array<string|int, mixed> $data) : string
Parameters
- $data : array<string|int, mixed>
Return values
stringrenderUnknown()
Render unknown block type
private
renderUnknown(string $type) : string
Parameters
- $type : string
Return values
stringsanitizeHtml()
Sanitize HTML to prevent XSS while allowing safe tags
private
sanitizeHtml(string $html) : string
Parameters
- $html : string