]> git.mxchange.org Git - friendica.git/blob - library/HTML5/Parser.php
Merge remote-tracking branch 'upstream/develop' into 1409-shadow-items
[friendica.git] / library / HTML5 / Parser.php
1 <?php
2
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';
7
8 /**
9  * Outwards facing interface for HTML5.
10  */
11 class HTML5_Parser
12 {
13     /**
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
18      */
19     static public function parse($text, $builder = null) {
20         $tokenizer = new HTML5_Tokenizer($text, $builder);
21         $tokenizer->parse();
22         return $tokenizer->save();
23     }
24     /**
25      * Parses an HTML fragment.
26      * @param $text HTML text to parse
27      * @param $context String name of context element to pretend parsing is in.
28      * @param $builder Custom builder implementation
29      * @return Parsed HTML as DOMDocument
30      */
31     static public function parseFragment($text, $context = null, $builder = null) {
32         $tokenizer = new HTML5_Tokenizer($text, $builder);
33         $tokenizer->parseFragment($context);
34         return $tokenizer->save();
35     }
36 }