mirror of https://github.com/friendica/friendica
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.1 KiB
37 lines
1.1 KiB
<?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();
|
|
}
|
|
}
|