NAME

Mojo::DOM::HTML - HTML/XML engine

SYNOPSIS

use Mojo::DOM::HTML;

# Turn HTML into DOM tree
my $html = Mojo::DOM::HTML->new;
$html->parse('<div><p id="a">Test</p><p id="b">123</p></div>');
my $tree = $html->tree;

DESCRIPTION

Mojo::DOM::HTML is the HTML/XML engine used by Mojo::DOM, based on the HTML Living Standard and the Extensible Markup Language (XML) 1.0.

FUNCTIONS

Mojo::DOM::HTML implements the following functions, which can be imported individually.

tag_to_html

my $str = tag_to_html 'div', id => 'foo', 'safe content';

Generate HTML/XML tag and render it right away. This is a significantly faster alternative to "tag" for template systems that have to generate a lot of tags. Note that this function is EXPERIMENTAL and might change without warning!

ATTRIBUTES

Mojo::DOM::HTML implements the following attributes.

tree

my $tree = $html->tree;
$html    = $html->tree(['root']);

Document Object Model. Note that this structure should only be used very carefully since it is very dynamic.

xml

my $bool = $html->xml;
$html    = $html->xml($bool);

Disable HTML semantics in parser and activate case-sensitivity, defaults to auto-detection based on XML declarations.

METHODS

Mojo::DOM::HTML inherits all methods from Mojo::Base and implements the following new ones.

parse

$html = $html->parse('<foo bar="baz">I ♥ Mojolicious!</foo>');

Parse HTML/XML fragment.

render

my $str = $html->render;

Render DOM to HTML/XML.

tag

$html = $html->tag('div', id => 'foo', 'safe content');

Generate HTML/XML tag. Note that this method is EXPERIMENTAL and might change without warning!

SEE ALSO

Mojolicious, Mojolicious::Guides, https://mojolicious.org.