如何将一个html文档解析为一个包含每个节点行号的AST?

dkqlctbz  于 2023-02-27  发布在  其他
关注(0)|答案(2)|浏览(121)

我想用JavaScript把一个html文档解析成一个抽象的语法树,其中每个节点还包括每个节点的开始和结束行号(希望还有字符位置)。有没有现有的解决方案可以做到这一点?我不想自己写。
2016年4月24日:如果能够在任意位置解析HTML沿着php标记,那就更理想了。

eqqqjvef

eqqqjvef1#

https://unifiedjs.github.io/可以为您提供包括HTML在内的一些格式的CST或AST。

p8ekf7hl

p8ekf7hl2#

我用的是node-html-parser。它工作起来很有魅力!通过“range”属性轻松访问字符位置

const scripts = parse(code).getElementsByTagName('script')
const pureCode = code.slice(scripts[0].range[0], scripts[0].range[1]);

相关问题