diff options
Diffstat (limited to 'library/HTML5/Parser.php')
-rw-r--r-- | library/HTML5/Parser.php | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/library/HTML5/Parser.php b/library/HTML5/Parser.php new file mode 100644 index 000000000..5f9ca560e --- /dev/null +++ b/library/HTML5/Parser.php @@ -0,0 +1,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(); + } +} |