html-parser 软件
此 HTML 解析器和校验器不是 XHTML 严格校验器的静脉中严格的 HTML 解析器。 相反,它旨在像浏览器一样解析HTML,并且只解析可能混淆浏览器或显示HTML作者混淆的表面错误.
安装
npm install --save @desertnet/html-parser
使用量
const HTMLParser = require('@desertnet/html-parser')
const html = `
<p>
<b>I forgot to close my b tag.
</p>
<p>
I&npsb;misspelled the no-break-space entity.
</p>
`.trim()
const errors = HTMLParser.validate(html)
errors.forEach(error => {
console.log(`${error.message} (line: ${error.line}, column: ${error.column})`)
})
产出:
Could not find closing tag for "<b>". (line: 2, column: 3)
Unexpected closing tag, "</p>". Expected closing tag for "<b>". (line: 3, column: 1)
Invalid HTML entity name for "&npsb;". (line: 6, column: 5)
API 密码
HTMLParser.validate( htmlString) (韩语)
静态方法 HTMLParser 建筑师。 解析 HTML 片段 htmlString 返回数组 HTMLParseErrors. 如果没有出错,则返回空数组.
HTML 辅助程序
这个 HTMLParser 建筑师。 不用争辩.
const parser = new HTMLParser()
.parse (html String) (中文(简体) )
解析 HTML 片断 htmlString 返回一个 HTMLNode 包含已解析的 HTML 对象.
const parseTree = parser.parse('<h1>Hello world!</h1>')
HTML 路径错误
代表发现的正在解析 HTML 片段的错误 .
parseTree.errors.forEach(error => {
console.log(`${error.message} (line: ${error.line}, column: ${error.column})`)
})
. 信息
属性是包含对错误的英文描述的字符串 .
启动Index
属性,指向开始错误的源字符串的索引数字.
最终索引
属性是一个数字,指向结束错误的源字符串中的索引.
线条
属性是表示开始错误的行号。 行号为 1没有 0。 。 。 .
.栏
属性是一个数字,表示开始错误的行的列。 列也开始于 1没有 0。 。 。 .
HTML 节点
所有节点类型的基础类. 归来 HTMLParser是因为 .parse 方法.
console.log(indentedNodeList(parseTree))
function indentedNodeList (node, indent = '') {
let str = ''
if (node.children) {
str += node.children.reduce((prev, child) => {
return prev + indentedNodeList(child, `${indent} `)
}, '')
}
return `${indent}${node.type}\n${str}`
}
类型
显示节点类型的属性 。 这将是以下字符串之一:
ROOT:树根节点.TAG: HTML 标记.ATTRIBUTE: HTML 标记的属性.TEXT:文本内容节点.ENTITY: HTML 实体(即:.&(中文(简体) )COMMENT: HTML 注释标记.CLOSETAG: 一个关闭的 HTML 标记.
儿童
两者之一的财产 null,或数组 HTMLNode这是节点的孩子.
. 索引范围
属性, 如果非无, 将是两个数字的数组 。 第一种是节点开始地源字符串的索引,第二种是节点结束地源字符串的索引.
错误
属性为 HTMLParseErrors与此节点及其后人相关.
上行错误
属性为 HTMLParseErrors只与此节点相关(不是它的后人).
标签Name
打开 TAG 财务报告和审定财务报表 CLOSETAG 类型节点,这是小写标签名的字符串.
属性
打开 TAG 类型节点,这是一组 ATTRIBUTE 属于标记的节点.
关闭标签
打开 TAG 类型节点,这是 CLOSETAG 节点,如果找到此节点的关闭标记 .