HTML::Parse - Deprecated, a wrapper around HTML::TreeBuilder


HTML-Tree documentation Contained in the HTML-Tree distribution.

Index


Code Index:

NAME

Top

HTML::Parse - Deprecated, a wrapper around HTML::TreeBuilder

SYNOPSIS

Top

  See the documentation for HTML::TreeBuilder

DESCRIPTION

Top

Disclaimer: This module is provided only for backwards compatibility with earlier versions of this library. New code should not use this module, and should really use the HTML::Parser and HTML::TreeBuilder modules directly, instead.

The HTML::Parse module provides functions to parse HTML documents. There are two functions exported by this module:

parse_html($html) or parse_html($html, $obj)

This function is really just a synonym for $obj->parse($html) and $obj is assumed to be a subclass of HTML::Parser. Refer to HTML::Parser for more documentation.

If $obj is not specified, the $obj will default to an internally created new HTML::TreeBuilder object configured with strict_comment() turned on. That class implements a parser that builds (and is) a HTML syntax tree with HTML::Element objects as nodes.

The return value from parse_html() is $obj.

parse_htmlfile($file, [$obj])

Same as parse_html(), but pulls the HTML to parse, from the named file.

Returns undef if the file could not be opened, or $obj otherwise.

When a HTML::TreeBuilder object is created, the following variables control how parsing takes place:

$HTML::Parse::IMPLICIT_TAGS

Setting this variable to true will instruct the parser to try to deduce implicit elements and implicit end tags. If this variable is false you get a parse tree that just reflects the text as it stands. Might be useful for quick & dirty parsing. Default is true.

Implicit elements have the implicit() attribute set.

$HTML::Parse::IGNORE_UNKNOWN

This variable contols whether unknow tags should be represented as elements in the parse tree. Default is true.

$HTML::Parse::IGNORE_TEXT

Do not represent the text content of elements. This saves space if all you want is to examine the structure of the document. Default is false.

$HTML::Parse::WARN

Call warn() with an apropriate message for syntax errors. Default is false.

REMEMBER!

Top

HTML::TreeBuilder objects should be explicitly destroyed when you're finished with them. See HTML::TreeBuilder.

SEE ALSO

Top

HTML::Parser, HTML::TreeBuilder, HTML::Element

COPYRIGHT

Top

AUTHOR Current Author: Jeff Fearn <jfearn@cpan.org>.

Top

Original HTML-Tree author: Gisle Aas.

Former Authors: Sean M. Burke. Andy Lester. Pete Krawczyk <petek@cpan.org>.


HTML-Tree documentation Contained in the HTML-Tree distribution.

package HTML::Parse;

use 5.008;

use warnings;
use strict;

use vars qw(@ISA $VERSION @EXPORT
    $IMPLICIT_TAGS $IGNORE_UNKNOWN $IGNORE_TEXT $WARN
);

require Exporter;
@ISA    = qw(Exporter);
@EXPORT = qw(parse_html parse_htmlfile);

# Backwards compatability
$IMPLICIT_TAGS  = 1;
$IGNORE_UNKNOWN = 1;
$IGNORE_TEXT    = 0;
$WARN           = 0;

require HTML::TreeBuilder;

$VERSION = 4.2;

sub parse_html {
    my $p = $_[1];
    $p = _new_tree_maker() unless $p;
    $p->parse( $_[0] );
}

sub parse_htmlfile {
    my ( $file, $p ) = @_;
    my ($HTML);
    open( $HTML, "<", $file ) or return;
    $p = _new_tree_maker() unless $p;
    $p->parse_file($HTML);
}

sub _new_tree_maker {
    my $p = HTML::TreeBuilder->new(
        implicit_tags  => $IMPLICIT_TAGS,
        ignore_unknown => $IGNORE_UNKNOWN,
        ignore_text    => $IGNORE_TEXT,
        'warn'         => $WARN,
    );
    $p->strict_comment(1);
    $p;
}

1;