--- trunk/lib/Frey/HTML.pm 2008/12/03 22:23:26 708 +++ trunk/lib/Frey/HTML.pm 2008/12/03 22:24:18 709 @@ -1,16 +1,26 @@ package Frey::HTML; use Moose; +extends 'Frey'; +with 'Frey::Web'; + use HTML::TreeBuilder; use Data::Dump qw/dump/; +=head1 DESCRIPTION + +Cleanup all attributes from html + +=cut + has 'html' => ( is => 'rw', isa => 'Str', required => 1, + default => 'foo', ); -sub xhtml { +sub cleanup_as_markup { my $self = shift; my $html = HTML::TreeBuilder->new; @@ -18,26 +28,25 @@ $html->parse( $self->html ); $html->eof; - my $result = $self->_parse( $html->guts ); + sub _parse { + foreach my $element ( @_ ) { + if ( blessed $element && $element->isa('HTML::Element') ) { + my $tag = $element->tag; + my @kids = $element->content_list; + warn dump( $tag, @kids ); + return "<$tag>" . _parse( @kids ) . ""; + } else { + # plain text + warn dump( $element ); + return $element; + } + } + } + + my $result = _parse( $html->guts ); $html->delete; return $result; } -sub _parse { - my $self = shift; - foreach my $element ( @_ ) { - if ( blessed $element && $element->isa('HTML::Element') ) { - my $tag = $element->tag; - my @kids = $element->content_list; - warn dump( $tag, @kids ); - return "<$tag>" . _parse( @kids ) . ""; - } else { - # plain text - warn dump( $element ); - return $self->html_escape( $element ); - } - } -} - 1;