An RTF to HTML converter in PHP
Este repositório é um fork de henck/rtf-html-php, mantido por Alexandre Teixeira Mendes com correções de bugs e melhorias de estabilidade.
- Bug critico no parser: condição duplicada
'{' || '{'corrigida para'{' || '}'no skip de caracteres Unicode - Bounds check na color table: evita fatal error com RTFs malformados
- Vazamento de state entre documentos: limpa
fonttbl/colortblestáticas ao formatar um novo documento - Propriedade
$hrefdeclarada explicitamente na classeState(compatibilidade PHP 8+) - Check de background color: adicionado
array_key_exists()para evitar warnings - Imagens binárias: tratamento de binary data em vez de retorno vazio silencioso
- Nome de classe no teste:
FontFamilyTestTestcorrigido paraFontFamilyTest - PHPUnit atualizado: de
^8para^9.0|^10.0(compatível com PHP 8+)
Para usar este fork via Composer, adicione ao seu composer.json:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/mendesalexandre/rtf-html-php"
}
],
"require": {
"henck/rtf-html-php": "dev-master"
}
}Depois rode:
composer updateuse RtfHtmlPhp\Document;
use RtfHtmlPhp\Html\HtmlFormatter;
$rtf = file_get_contents("documento.rtf");
$document = new Document($rtf);
$formatter = new HtmlFormatter('UTF-8');
$html = $formatter->Format($document);Document lança uma exception se o RTF não puder ser parseado.
Para debug do parse tree:
echo $document;Por padrão o encoding é HTML-ENTITIES. Para usar UTF-8:
$formatter = new HtmlFormatter('UTF-8');Qualquer encoding suportado por mb_list_encodings() pode ser usado.
- PHP ^8.0
- Extensão
php-mbstring
composer testEste projeto é licenciado sob a licença MIT. Veja o arquivo LICENSE para detalhes.
Projeto original por Alexander van Oostenrijk - henck/rtf-html-php.