summaryrefslogtreecommitdiff
path: root/src/HTML5/Parser.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/HTML5/Parser.php')
-rw-r--r--src/HTML5/Parser.php36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/HTML5/Parser.php b/src/HTML5/Parser.php
new file mode 100644
index 0000000..5f9ca56
--- /dev/null
+++ b/src/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();
+ }
+}