From 0e149588548834bbfee7770fac8455cc404fb8ca Mon Sep 17 00:00:00 2001 From: Matt Butcher Date: Thu, 30 May 2013 09:22:31 -0500 Subject: Fix for issue #6: DOCTYPE is no longer case sensitive. --- src/HTML5/Parser/Tokenizer.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/HTML5') diff --git a/src/HTML5/Parser/Tokenizer.php b/src/HTML5/Parser/Tokenizer.php index 02e78d9..9d8c39b 100644 --- a/src/HTML5/Parser/Tokenizer.php +++ b/src/HTML5/Parser/Tokenizer.php @@ -259,7 +259,7 @@ class Tokenizer { return $this->comment(); } // Doctype - elseif($tok == 'D') { + elseif($tok == 'D' || $tok == 'd') { return $this->doctype(''); } // CDATA section @@ -598,12 +598,12 @@ class Tokenizer { * @todo This method is a little long. Should probably refactor. */ protected function doctype() { - if ($this->scanner->current() != 'D') { + if (strcasecmp($this->scanner->current(), 'D')) { return FALSE; } - // Check that string is DOCTYPE - $chars = $this->scanner->charsWhile("DOCTYPE"); - if ($chars != 'DOCTYPE') { + // Check that string is DOCTYPE. + $chars = $this->scanner->charsWhile("DOCTYPEdoctype"); + if (strcasecmp($chars, 'DOCTYPE')) { $this->parseError('Expected DOCTYPE, got %s', $chars); return $this->bogusComment('