tinymce.html.DomParser

This class parses HTML code into a DOM like structure of nodes it will remove redundant whitespace and make sure that the node tree is valid according to the specified schema. So for example: <p>a<p>b</p>c</p> will become <p>a</p><p>b</p><p>c</p>

Examples

var parser = new tinymce.html.DomParser({validate: true}, schema);
var rootNode = parser.parse('<h1>content</h1>');

Summary

Methods

Name Summary Defined by

addAttributeFilter()

Adds a attribute filter function to the parser, the parser will collect nodes that has the specified attributes and then execute the callback once it has finished parsing the document.

DomParser

addNodeFilter()

Adds a node filter function to the parser, the parser will collect the specified nodes by name and then execute the callback once it has finished parsing the document.

DomParser

filterNode()

Runs the specified node though the element and attributes filters.

DomParser

parse()

Parses the specified HTML string into a DOM like node tree and returns the result.

DomParser

Methods

addAttributeFilter()

addAttributeFilter(name: String, callback: function)

Adds a attribute filter function to the parser, the parser will collect nodes that has the specified attributes and then execute the callback once it has finished parsing the document.

Examples

parser.addAttributeFilter('src,href', function(nodes, name) {
 for (var i = 0; i < nodes.length; i++) {
  console.log(nodes[i].name);
 }
});

Parameters

  • name (String) - Comma separated list of nodes to collect.

  • callback (function) - Callback function to execute once it has collected nodes.


addNodeFilter()

addNodeFilter(callback: function)

Adds a node filter function to the parser, the parser will collect the specified nodes by name and then execute the callback once it has finished parsing the document.

Examples

parser.addNodeFilter('p,h1', function(nodes, name) {
 for (var i = 0; i < nodes.length; i++) {
  console.log(nodes[i].name);
 }
});

Parameters

  • callback (function) - Callback function to execute once it has collected nodes.


filterNode()

filterNode(node: tinymce.html.Node): tinymce.html.Node

Runs the specified node though the element and attributes filters.

Parameters

  • node (Node) - the node to run filters on.

Return value

  • Node - The passed in node.


parse()

parse(html: String, args: Object): tinymce.html.Node

Parses the specified HTML string into a DOM like node tree and returns the result.

Examples

var rootNode = new DomParser({...}).parse('<b>text</b>');

Parameters

  • html (String) - Html string to sax parse.

  • args (Object) - Optional args object that gets passed to all filter functions.

Return value

  • Node - Root node containing the tree.