# rphtml 一个用 rust 编写的 html 文档解æžå™¨ï¼Œ0.4.0 版本å‰é€šè¿‡ wasm-pack/wasm-bindgen æä¾› npm 包。 [](https://badge.fury.io/js/rphtml) [](https://github.com/fefit/rphtml/actions) [](https://codecov.io/gh/fefit/rphtml) ## 如何使用 ```rust use rphtml::parser::{ Doc, ParseOptions, RenderOptions, HResult }; fn main()->HResult{ let doc = Doc::parse("<div id='content'>rpthml</div>", ParseOptions{ case_sensitive_tagname: false, // è§£æžæ—¶æ ‡ç¾åŒºåˆ†å¤§å°å†™ï¼Œ`<div>` å’Œ `<DIV>` 将被视作ä¸åŒæ ‡ç¾ï¼Œä¸å»ºè®®å¼€å¯ allow_self_closing: false, // å…è®¸éžæ›¿æ¢å…ƒç´ 使用自é—åˆçš„写法,如 `<div class='' />` auto_fix_unclosed_tag: true, // è‡ªåŠ¨ä¿®å¤æ²¡æœ‰ç»“æŸçš„æ ‡ç¾ï¼Œæ³¨æ„è¿™é‡Œåªæ˜¯ç®€å•çš„å°†æ ‡ç¾é—åˆ auto_fix_unexpected_endtag: true, // 自动修å¤ä¸æ£ç¡®çš„ç»“æŸæ ‡ç¾ï¼Œå¦‚ "<div></p></div>" 会被修å¤ä¸º "<div></div>" auto_fix_unescaped_lt: true, // è‡ªåŠ¨ä¿®å¤æ²¡æœ‰å®žä½“è½¬è¯‘çš„å·¦å°–æ‹¬å· '<', 比如`<div>a<b</div>`会被修å¤ä¸º`<div>a<b</div>` allow_attr_key_starts_with_equal_sign: true, // 是å¦å…许 "=" 符å·å‡ºçŽ°åœ¨å±žæ€§å的开头,如 `<div =a="c" />` 属性å为"=a",值为"c" })?; // 获å–rootæ ¹èŠ‚ç‚¹ let root = doc.get_root_node(); let render_html = doc.render(&RenderOptions{ ..Default::default() // RenderOptionsçš„å‚æ•°å®šä¹‰å¯ä»¥åœ¨wiki䏿Ÿ¥çœ‹ }); } ``` ## License [MIT License](./LICENSE).