barbosaadriano / rtf-html-php
PHP中的RTF转HTML转换器
v1.1.2
2024-05-29 10:26 UTC
Requires
- php: ^8.0
Requires (Dev)
- phpunit/phpunit: ^8
This package is auto-updated.
Last update: 2024-09-18 07:56:34 UTC
README
PHP中的RTF转HTML转换器
在最近的一个项目中,我急需一个用PHP编写的RTF转HTML转换器。在Google上搜索了一些结果,但我无法使其正常工作。其中有一个使用了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
。要更改默认编码,您可以使用mb_list_encodings()
支持的编码初始化Html
对象:例如UTF-8
$formatter = new HtmlFormatter('UTF-8');
通过Composer安装
composer require henck/rtf-to-html
注意事项
- 请注意,rtf-html-php要求您的PHP安装支持
mb_convert_encoding
函数。因此,您必须安装php-mbstring
模块。对于新的PHP安装,通常已经安装了该模块。