WouterSioen/sir-trevor-php

PHP 到 HTML 转换助手

2.0.0 2016-04-05 15:24 UTC

This package is auto-updated.

Last update: 2024-09-07 18:16:37 UTC


README

Build Status Scrutinizer Code Quality SensioLabsInsight

简介

这是一个转换库,用于处理来自 Sir Trevor 的输入并将其转换为 HTML。未来还将实现从 HTML 转换到 Sir Trevor 所需的 Json 输入。

支持的 Sir Trevor 块

  • 标题
  • 段落
  • 列表
  • 视频
  • 引言
  • 图片

添加自定义块很简单。只需在 Sioen\Types 命名空间中添加一个新的 ConversionType 并在 ToJsonContect 和 ToHtmlContect 中注册它。

要求

此库包需要 PHP 5.3 或更高版本。

安装

在 composer.json 中要求库

运行 composer require woutersioen/sir-trevor-php

确保您在脚本顶部有 require 'vendor/autoload.php';。如果您使用的是框架,则默认情况下应该没问题。

用法

概述

// add the composer autoloader to your file
require_once 'vendor/autoload.php';

// Add the needed use statements to be able to use this library
use Sioen\HtmlToJson;
use Sioen\JsonToHtml;

转换为 HTML

// fetch the data from the post
$sirTrevorInput = $_POST['textarea'];

// create a JsonToHtml object
$jsonToHtml = new JsonToHtml();

// add the wanted converters (you'll probably want to use your DIC container or a factory)
$jsonToHtml->addConverter(new Sioen\JsonToHtml\BlockquoteConverter());
$jsonToHtml->addConverter(new Sioen\JsonToHtml\HeadingConverter());
$jsonToHtml->addConverter(new Sioen\JsonToHtml\IframeConverter());
$jsonToHtml->addConverter(new Sioen\JsonToHtml\ImageConverter());
$jsonToHtml->addConverter(new Sioen\JsonToHtml\BaseConverter());

// generate your html
$html = $jsonToHtml->toHtml($sirTrevorInput);

转换为 Json

// fetch html from database or wherever you want to fetch it from
$html = '<h2>This is my html</h2>';

// create a HtmlToJson object
$htmlToJson = new HtmlToJson();

// add the wanted converters (you'll probably want to use your DIC container or a factory)
$jsonToHtml->addConverter(new Sioen\HtmlToJson\BlockquoteConverter());
$jsonToHtml->addConverter(new Sioen\HtmlToJson\HeadingConverter());
$jsonToHtml->addConverter(new Sioen\HtmlToJson\ImageConverter());
$jsonToHtml->addConverter(new Sioen\HtmlToJson\IframeConverter());
$jsonToHtml->addConverter(new Sioen\HtmlToJson\ListConverter());
$jsonToHtml->addConverter(new Sioen\HtmlToJson\BaseConverter());

// generate your json
$json = $htmlToJson->toJson($html);

添加自己的转换器。

创建一个实现/扩展正确抽象的类

HtmlToJson 转换器应扩展 Sioen\HtmlToJson\Converter JsonToHtml 转换器应实现 Sioen\JsonToHtml\Converter

您可以使用 addConverter 方法添加自己的转换器。