A Dart implementation of an HTML5 parser.
Parsing HTML is easy!
import 'package:html/parser.dart'; void 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.
[!WARNING] Per the WHATWG HTML specification (and matching browsers such as Chrome), the output of
innerHtmlandouterHtml, if parsed with an HTML parser, may not return the original tree structure—even for trees produced by the HTML parser itself.Do not use
innerHtmlorouterHtmlfor HTML sanitization, as this can lead to mutation XSS (mXSS). Consider usingpackage:sanitize_htmlinstead.
This package was a port of the Python html5lib library.