HTML::FormatText::Html2text(3) format HTML as plain text using html2text


use HTML::FormatText::Html2text;
$text = HTML::FormatText::Html2text->format_file ($filename);
$text = HTML::FormatText::Html2text->format_string ($html_string);
$formatter = HTML::FormatText::Html2text->new;
$tree = HTML::TreeBuilder->new_from_file ($filename);
$text = $formatter->format ($tree);


"HTML::FormatText::Html2text" turns HTML into plain text using the "html2text" program.


The module interface is compatible with formatters like "HTML::FormatText", but all parsing etc is done by html2text.

See "HTML::FormatExternal" for the formatting functions and options, with the following caveats,

Currently this option has no effect. Input generally has to be latin-1 only, though the Debian extended "html2ext" interprets a "<meta>" charset directive in the HTML header.

Various "&" style named or numbered entities are recognised and result in suitable output. The suggestion would be entitized input for maximum portability among "html2text" versions.

If set to ``ascii'' or ``ANSI_X3.4-1968'' (both case-insensitive) the "html2text -ascii" option is used, when available ("html2text" 1.3.2 from Jan 2004).

If set to ``UTF-8'' then Debian extension "-utf8" option is used (circa 2009).

Apart from this there's no control over the output charset.


Copyright 2008, 2009, 2010, 2013, 2015 Kevin Ryde

HTML-FormatExternal is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

HTML-FormatExternal is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with HTML-FormatExternal. If not, see <>.