/[Frey]/trunk/lib/Frey/HTML.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/lib/Frey/HTML.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 225 - (hide annotations)
Sat Nov 1 00:59:02 2008 UTC (15 years, 5 months ago) by dpavlin
File size: 716 byte(s)
role for html_escape
1 dpavlin 171 package Frey::HTML;
2     use Moose;
3    
4     use HTML::TreeBuilder;
5     use Data::Dump qw/dump/;
6    
7     has 'html' => (
8     is => 'rw',
9     isa => 'Str',
10     required => 1,
11     );
12    
13     sub xhtml {
14     my $self = shift;
15    
16     my $html = HTML::TreeBuilder->new;
17    
18     $html->parse( $self->html );
19     $html->eof;
20    
21 dpavlin 225 my $result = $self->_parse( $html->guts );
22 dpavlin 171 $html->delete;
23    
24     return $result;
25     }
26    
27     sub _parse {
28 dpavlin 225 my $self = shift;
29 dpavlin 171 foreach my $element ( @_ ) {
30     if ( blessed $element && $element->isa('HTML::Element') ) {
31     my $tag = $element->tag;
32     my @kids = $element->content_list;
33     warn dump( $tag, @kids );
34     return "<$tag>" . _parse( @kids ) . "</$tag>";
35     } else {
36     # plain text
37     warn dump( $element );
38 dpavlin 225 return $self->html_escape( $element );
39 dpavlin 171 }
40     }
41     }
42    
43     1;

  ViewVC Help
Powered by ViewVC 1.1.26