tinymce.html
TinyMCE includes sophisticated logic for cleaning up HTML content. What's interesting about this logic is that it's pure JavaScript. It doesn't use any browser-specific APIs and can be used with Node.js.
Example
var tinymce = ; var schema = valid_elements: "@[class],#p,span,a[!href],strong/b" valid_classes: "foo"; var parser = forced_root_block: 'p' schema; var serializer = indent: true indent_before: 'p' indent_after: 'p' schema; var html = '<B title="title" class="foo bar">test</B><a href="//tinymce.com">' + 'TinyMCE</a><p>Lorem <a>Ipsum</a></p>';var root = parser;var result = serializer; console;// <p><strong class="foo">test</strong><a href="//tinymce.com">TinyMCE</a></p>// <p>Lorem Ipsum</p>
Options
-
Schema:
valid_elements
valid_classes
valid_children
valid_styles
(usetinymce.html.Parser
for this option to work, nottinymce.html.DomParser
)extended_valid_elements
invalid_elements
custom_elements
schema
("html5"
,"html4"
,"html5-strict"
)
-
Parser:
-
Serializer:
indent
indent_before
indent_after