| Template-Plugin-HtmlToText documentation | Contained in the Template-Plugin-HtmlToText distribution. |
Template::Plugin::HtmlToText - Plugin interface to HTML::FormatText
Quick summary of what the module does.
Perhaps a little code snippet.
[% USE HtmlToText %]
# use html2text FILTER to var 'myhtml' or 'myhtmltext'
[% myhtml FILTER html2text(leftmargin => 0, rightmargin => 50) %]
[% myhtmltext | html2text %]
# not to a var, but to html code
[% FILTER html2text %]
<b>heavy</b>
[% END %]
[%# output is "heavy", no <b></b> %]
This plugin provides an interface to the HTML::FormatText module which format HTML as plaintext.
Fayland Lam, <fayland>
Copyright 2006 Fayland Lam, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Template-Plugin-HtmlToText documentation | Contained in the Template-Plugin-HtmlToText distribution. |
package Template::Plugin::HtmlToText; use strict; use vars qw( @ISA $VERSION ); use base qw( Template::Plugin ); use Template::Plugin; $VERSION = '0.03'; sub new { my ($class, $context, $arg) = @_; $context->define_filter('html2text', [ \&html2text => 1 ]); return \&tt_wrap; } sub html2text { my ($context, $args) = @_; return sub { my $html = shift; return $html unless ($html =~ m#(<|>)#s); require HTML::TreeBuilder; my $tree = HTML::TreeBuilder->new->parse($html); require HTML::FormatText; my $formatter = HTML::FormatText->new(%{$args}); my $text = $formatter->format($tree); return $text; } } 1; __END__