Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

domhandler Node.js CI

The DOM handler creates a tree containing all nodes of a page. The tree can be manipulated using the domutils or cheerio libraries and rendered using dom-serializer .

Usage

const handler = new DomHandler([ <func> callback(err, dom), ] [ <obj> options ]);
// const parser = new Parser(handler[, options]);

Available options are described below.

Example

const { Parser } = require("htmlparser2");
const { DomHandler } = require("domhandler");
const rawHtml =
 "Xyz <script language= javascript>var foo = '<<bar>>';</script><!--<!-- Waah! -- -->";
const handler = new DomHandler((error, dom) => {
 if (error) {
 // Handle error
 } else {
 // Parsing completed, do something
 console.log(dom);
 }
});
const parser = new Parser(handler);
parser.write(rawHtml);
parser.end();

Output:

[
 {
 data: "Xyz ",
 type: "text",
 },
 {
 type: "script",
 name: "script",
 attribs: {
 language: "javascript",
 },
 children: [
 {
 data: "var foo = '<bar>';<",
 type: "text",
 },
 ],
 },
 {
 data: "<!-- Waah! -- ",
 type: "comment",
 },
];

Option: withStartIndices

Add a startIndex property to nodes. When the parser is used in a non-streaming fashion, startIndex is an integer indicating the position of the start of the node in the document. The default value is false.

Option: withEndIndices

Add an endIndex property to nodes. When the parser is used in a non-streaming fashion, endIndex is an integer indicating the position of the end of the node in the document. The default value is false.


License: BSD-2-Clause

Security contact information

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

About

Handler for htmlparser2, to get a DOM

Topics

Resources

Stars

368 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /