From ffcfa507b081cf132db5b90c26bfad66d79a4eb4 Mon Sep 17 00:00:00 2001 From: Technosophos Date: Fri, 12 Apr 2013 17:53:01 -0500 Subject: DOCTYPE bogus comments handled. --- src/HTML5/Parser/Tokenizer.php | 11 +++++++++++ test/HTML5/Parser/TokenizerTest.php | 1 + 2 files changed, 12 insertions(+) diff --git a/src/HTML5/Parser/Tokenizer.php b/src/HTML5/Parser/Tokenizer.php index b84f9bf..899e908 100644 --- a/src/HTML5/Parser/Tokenizer.php +++ b/src/HTML5/Parser/Tokenizer.php @@ -539,6 +539,17 @@ class Tokenizer { return FALSE; } protected function doctype() { + if ($this->scanner->current() != 'D') { + return FALSE; + } + // Check that string is DOCTYPE + $chars = $this->scanner->charsWhile("DOCTYPE"); + if ($chars != 'DOCTYPE') { + $this->parseError('Expected DOCTYPE, got %s', $chars); + return $this->bogusComment('', '', + '', ); foreach ($bogus as $str) { $events = $this->parse($str . ' '); -- cgit v1.2.3