3 require_once dirname(__FILE__) . '/Data.php';
4 require_once dirname(__FILE__) . '/InputStream.php';
5 require_once dirname(__FILE__) . '/TreeBuilder.php';
6 require_once dirname(__FILE__) . '/Tokenizer.php';
9 * Outwards facing interface for HTML5.
14 * Parses a full HTML document.
15 * @param $text HTML text to parse
16 * @param $builder Custom builder implementation
17 * @return Parsed HTML as DOMDocument
19 static public function parse($text, $builder = null) {
21 // Cleanup invalid HTML
22 $doc = new DOMDocument();
23 @$doc->loadHTML($text);
24 $text = $doc->saveHTML();
26 $tokenizer = new HTML5_Tokenizer($text, $builder);
28 return $tokenizer->save();
31 * Parses an HTML fragment.
32 * @param $text HTML text to parse
33 * @param $context String name of context element to pretend parsing is in.
34 * @param $builder Custom builder implementation
35 * @return Parsed HTML as DOMDocument
37 static public function parseFragment($text, $context = null, $builder = null) {
38 $tokenizer = new HTML5_Tokenizer($text, $builder);
39 $tokenizer->parseFragment($context);
40 return $tokenizer->save();