此类将 HTML 代码解析为类似 DOM 的节点结构,它会删除多余的空格,并确保节点树符合指定的 schema。例如:<p>a<p>b</p>c</p> 将变为 <p>a</p><p>b</p><p>c</p>。
示例
const parser = tinymce.html.DomParser({ validate: true }, schema);
const rootNode = parser.parse('<h1>content</h1>');摘要
方法
| 名称 | 摘要 | 定义者 |
|---|---|---|
addAttributeFilter() | 向解析器添加一个属性过滤器函数,解析器将收集具有指定属性的节点,然后在完成文档解析后执行回调函数。 |
|
addNodeFilter() | 向解析器添加一个节点过滤器函数,解析器将按名称收集指定的节点,然后在完成文档解析后执行回调函数。 |
|
parse() | 将指定的 HTML 字符串解析为类似 DOM 的节点树并返回结果。 |
|
removeAttributeFilter() | 从解析器中移除一个属性过滤器函数,或者移除解析器中所有指定属性名称的过滤器函数。 |
|
removeNodeFilter() | 从解析器中移除一个节点过滤器函数,或者移除解析器中所有指定节点名称的过滤器函数。 |
|
方法
addAttributeFilter()
addAttributeFilter(name: String, callback: Function)
向解析器添加一个属性过滤器函数,解析器将收集具有指定属性的节点,然后在完成文档解析后执行回调函数。
示例
parser.addAttributeFilter('src,href', (nodes, name) => {
for (let i = 0; i < nodes.length; i++) {
console.log(nodes[i].name);
}
});参数
name (String)- 要收集的属性的逗号分隔列表。callback (Function)- 收集节点后要执行的回调函数。
addNodeFilter()
addNodeFilter(name: String, callback: Function)
向解析器添加一个节点过滤器函数,解析器将按名称收集指定的节点,然后在完成文档解析后执行回调函数。
示例
parser.addNodeFilter('p,h1', (nodes, name) => {
for (var i = 0; i < nodes.length; i++) {
console.log(nodes[i].name);
}
});参数
name (String)- 要收集的节点的逗号分隔列表。callback (Function)- 收集节点后要执行的回调函数。
parse()
parse(html: String, args: Object): tinymce.html.Node
将指定的 HTML 字符串解析为类似 DOM 的节点树并返回结果。
示例
const rootNode = tinymce.html.DomParser({...}).parse('<b>text</b>');参数
html (String)- 要进行 sax 解析的 HTML 字符串。args (Object)- 可选的参数对象,将传递给所有过滤器函数。
返回值
Node- 包含树的根节点。
removeAttributeFilter()
removeAttributeFilter(name: String, callback: Function)
从解析器中移除一个属性过滤器函数,或者移除解析器中所有指定属性名称的过滤器函数。
示例
// 移除单个过滤器
parser.removeAttributeFilter('src,href', someCallback);
// 移除所有过滤器
parser.removeAttributeFilter('src,href');参数
name (String)- 要移除过滤器的属性名称的逗号分隔列表。callback (Function)- 可选的回调函数,仅移除特定的回调函数。
removeNodeFilter()
removeNodeFilter(name: String, callback: Function)
从解析器中移除一个节点过滤器函数,或者移除解析器中所有指定节点名称的过滤器函数。
示例
// 移除单个过滤器
parser.removeNodeFilter('p,h1', someCallback);
// 移除所有过滤器
parser.removeNodeFilter('p,h1');参数
name (String)- 要移除过滤器的节点名称的逗号分隔列表。callback (Function)- 可选的回调函数,仅移除特定的回调函数。