1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?php
require_once dirname(__FILE__) . '/Data.php'; require_once dirname(__FILE__) . '/InputStream.php'; require_once dirname(__FILE__) . '/TreeBuilder.php'; require_once dirname(__FILE__) . '/Tokenizer.php';
/** * Outwards facing interface for HTML5. */ class HTML5_Parser { /** * Parses a full HTML document. * @param $text HTML text to parse * @param $builder Custom builder implementation * @return Parsed HTML as DOMDocument */ static public function parse($text, $builder = null) { $tokenizer = new HTML5_Tokenizer($text, $builder); $tokenizer->parse(); return $tokenizer->save(); } /** * Parses an HTML fragment. * @param $text HTML text to parse * @param $context String name of context element to pretend parsing is in. * @param $builder Custom builder implementation * @return Parsed HTML as DOMDocument */ static public function parseFragment($text, $context = null, $builder = null) { $tokenizer = new HTML5_Tokenizer($text, $builder); $tokenizer->parseFragment($context); return $tokenizer->save(); } }
|