henck / rtf-to-html
PHP 中的 RTF 到 HTML 转换器
1.2
2021-09-10 15:19 UTC
Requires
- ext-mbstring: *
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-21 05:30:54 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 文档将抛出异常。解析错误将生成 PHP 通知。
如果您想查看解析器读取的内容(用于调试目的),则可以调用此函数:
echo $document;
要转换解析器的解析树为 HTML,请调用此函数(但仅当 RTF 成功解析时):
use RtfHtmlPhp\Html\HtmlFormatter; $formatter = new HtmlFormatter(); echo $formatter->Format($document);
为了增强兼容性,转换的 RTF Unicode 字符的默认字符编码设置为 HTML-ENTITIES
。要更改默认编码,可以使用支持的编码初始化 Html
对象:mb_list_encodings()
中的示例:例如,UTF-8
$formatter = new HtmlFormatter('UTF-8');
通过 Composer 安装
composer require henck/rtf-to-html
注意事项
- 请注意,rtf-html-php 需要 PHP 安装支持
mb_convert_encoding
函数。因此,您必须安装php-mbstring
模块。对于新的 PHP 安装,通常都会安装。