diff --git a/lib/Tokenizer.php b/lib/Tokenizer.php index f83940f..ca007b8 100644 --- a/lib/Tokenizer.php +++ b/lib/Tokenizer.php @@ -777,8 +777,8 @@ class Tokenizer { $this->state = self::BEFORE_ATTRIBUTE_NAME_STATE; } else { $this->state = self::RAWTEXT_STATE; - Parser::$instance->emitToken(new CharacterToken('data->unconsume(); + return new CharacterToken('state = self::SELF_CLOSING_START_TAG_STATE; } else { $this->state = self::RAWTEXT_STATE; - Parser::$instance->emitToken(new CharacterToken('data->unconsume(); + return new CharacterToken('name === $this->stack->currentNode()->name) { $this->state = self::DATA_STATE; - Parser::$instance->emitToken($token); + return $token; } else { $this->state = self::RAWTEXT_STATE; - Parser::$instance->emitToken(new CharacterToken('data->unconsume(); + return new CharacterToken('state = self::RAWTEXT_STATE; - Parser::$instance->emitToken(new CharacterToken('data->unconsume(); + return new CharacterToken('state = self::SCRIPT_DATA_ESCAPE_START_STATE; - Parser::$instance->emitToken(new CharacterToken('state = self::SCRIPT_DATA_STATE; - Parser::$instance->emitToken(new CharacterToken('<')); Parser::$instance->data->unconsume(); + return new CharacterToken('<'); continue; } @@ -960,7 +958,7 @@ class Tokenizer { # "anything else" entry below. if ($token->name === $this->stack->currentNode()->name) { $this->state = self::DATA_STATE; - Parser::$instance->emitToken($token); + return $token; } else { $this->state = self::SCRIPT_DATA_STATE; Parser::$instance->data->unconsume(); @@ -1280,7 +1278,7 @@ class Tokenizer { # "anything else" entry below. if ($token->name === $this->stack->currentNode()->name) { $this->state = self::DATA_STATE; - Parser::$instance->emitToken($token); + return $token; } else { $this->state = self::SCRIPT_DATA_ESCAPED_STATE; Parser::$instance->data->unconsume(); @@ -3101,17 +3099,17 @@ class Tokenizer { if ($peek === ']]>') { Parser::$instance->data->consume(3); - Parser::$instance->emitToken(new CharacterToken($char)); + return new CharacterToken($char); break; } elseif ($peek === '') { - Parser::$instance->emitToken(new CharacterToken($char)); + return new CharacterToken($char); # If the end of the file was reached, reconsume the EOF character. Parser::$instance->data->unconsume(); break; } elseif ($peeklen < 3) { $char .= Parser::$instance->data->consume($peeklen); - Parser::$instance->emitToken(new CharacterToken($char)); + return new CharacterToken($char); # If the end of the file was reached, reconsume the EOF character. Parser::$instance->data->unconsume();