roundcube / rtf-html-php
PHP中的RTF到HTML转换器
v2.2
2023-12-31 14:01 UTC
Requires
- php: >=5.4
- ext-iconv: *
- ext-mbstring: *
Requires (Dev)
- phpstan/phpstan: ^1.2
- phpunit/phpunit: ^4.8.36 || ^5.7.21 || ^6 || ^7 | ^9.6
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