Skip to content

Repository files navigation

crate-badgedownloads-badgeLicensecheck-badge

HTML Editor

Pure and simple HTML parser and editor.

Examples

Parse HTML segment/document

let document:Vec<Node> = parse("<!doctype html><html><head></head><body></body></html>")?;println!("{:#?}", document);

Output:

[Doctype(Html,),Element{name:"html",attrs:{},children:[Element{name:"head",attrs:{},children:[],},Element{name:"body",attrs:{},children:[],},],},]

You can also use try_parse to parse the html which contains tolerable errors

let document:Vec<Node> = try_parse("<div><span>Ipsum</div>");

Query an element / elements by selector

// let html = r#"..."#let nodes:Vec<Node> = parse(html)?;let selector:Selector = Selector::from(".box");let element:Option<Element> = nodes.query(&selector);let elements:Vec<Element> = nodes.query_all(&selector);

Edit the HTML

// let html = r#"..."#let a:String = parse(html)?.trim().html();let b:String = parse(html)?.insert_to(&selector, node).html();let c:String = parse(html)?.remove_by(&selector).html();let d:String = parse(html)?.replace_with(&selector, |el| Node::Comment(el.html())).html();

You can find more examples in the documentation.

Changelog

See in CHANGELOG.md

About

Pure and simple HTML parser and editor.

Topics

Resources

Stars

26 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages