%PDF- %PDF-
| Direktori : /www/varak.net/wiki.varak.net/vendor/wikimedia/remex-html/RemexHtml/Tokenizer/ |
| Current File : //www/varak.net/wiki.varak.net/vendor/wikimedia/remex-html/RemexHtml/Tokenizer/TestTokenHandler.php |
<?php
namespace RemexHtml\Tokenizer;
/**
* A TokenHandler which collects events from the Tokenizer and generates an
* array compatible with the html5lib tokenizer tests.
*/
class TestTokenHandler implements TokenHandler {
private $tokens = [];
public function getTokens() {
return $this->tokens;
}
public function startDocument( Tokenizer $tokenizer, $fns, $fn ) {
}
public function endDocument( $pos ) {
}
public function error( $text, $pos ) {
$this->tokens[] = 'ParseError';
}
public function characters( $text, $start, $length, $sourceStart, $sourceLength ) {
$this->tokens[] = [ 'Character', substr( $text, $start, $length ) ];
}
public function startTag( $name, Attributes $attrs, $selfClose, $sourceStart, $sourceLength ) {
$attrArray = $attrs->getValues();
if ( $selfClose ) {
$this->tokens[] = [ 'StartTag', $name, $attrArray, $selfClose ];
} else {
$this->tokens[] = [ 'StartTag', $name, $attrArray ];
}
}
public function endTag( $name, $sourceStart, $sourceLength ) {
$this->tokens[] = [ 'EndTag', $name ];
}
public function doctype( $name, $public, $system, $quirks, $sourceStart, $sourceLength ) {
$this->tokens[] = [ 'DOCTYPE', $name, $public, $system, !$quirks ];
}
public function comment( $text, $sourceStart, $sourceLength ) {
$this->tokens[] = [ 'Comment', $text ];
}
}