roundcube/rtf-html-php

PHP中的RTF到HTML转换器

v2.2 2023-12-31 14:01 UTC

This package is auto-updated.

Last update: 2024-08-30 01:32:25 UTC


README

PHP中的RTF到HTML转换器

在最近的一个项目中,我急需一个用PHP编写的RTF到HTML转换器。在网上搜索了一些,但都没有正常工作。其中有一个使用了passthru()来调用RTF2HTML可执行文件,这不是我想要的。我正在寻找一个纯PHP编写的RTF到HTML转换器。

由于找不到现成的东西,我就自己坐下来编写了一个。它很简单,并且可以工作,实现了您在HTML中需要的RTF标签子集,并忽略了其余部分。实际上,当你真正深入研究时,RTF格式并不复杂,但也不是你能在15分钟内为解析器编写的代码。

如何使用它

使用composer安装此包。然后这样做

use RtfHtmlPhp\Document;

$rtf = file_get_contents("test.rtf"); 
$document = new Document($rtf); // or use a string directly

Document如果RTF文档无法解析,将抛出异常。

如果您想查看解析器读取的内容(用于调试目的),请调用此方法

echo $document;

要将解析器的解析树转换为HTML,请调用此方法(但仅当RTF成功解析时)

use RtfHtmlPhp\Html\HtmlFormatter;
$formatter = new HtmlFormatter();
echo $formatter->format($document);

为了增强兼容性,转换的RTF Unicode字符的默认字符编码设置为HTML-ENTITIES。要更改默认编码,您可以使用mb_list_encodings()支持的所需编码初始化Html对象:例如,UTF-8

$formatter = new HtmlFormatter('UTF-8');

通过Composer安装

composer require roundcube/rtf-to-html