This is a pure Dart HTML5 parser. It's a port of html5lib from Python.

Notice

This is a fork of html that supports more selectors and fixes some bugs.

This module was created because the html project handles the pull request very slowly.

Usage

Parsing HTML is easy!

import 'package:html_plus/parser.dart' show parse;
import 'package:html_plus/dom.dart';

main() {
  var document = parse(
      '<body>Hello world! <a href="www.html5rocks.com">HTML5 rocks!');
  print(document.outerHtml);
}

You can pass a String or list of bytes to parse. There's also parseFragment for parsing a document fragment, and HtmlParser if you want more low level control.

Libraries

dom
A simple tree API that results from parsing html. Intended to be compatible with dart:html, but it is missing many types and APIs.
dom_parsing
This library contains extra APIs that aren't in the DOM, but are useful when interacting with the parse tree.
parser
This library has a parser for HTML5 documents, that lets you parse HTML easily from a script or server side application: [...]