diff options
Diffstat (limited to 'bs4/builder/_htmlparser.py')
-rw-r--r-- | bs4/builder/_htmlparser.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/bs4/builder/_htmlparser.py b/bs4/builder/_htmlparser.py index cd50eb0..6a076a1 100644 --- a/bs4/builder/_htmlparser.py +++ b/bs4/builder/_htmlparser.py @@ -187,9 +187,10 @@ class BeautifulSoupHTMLParser(HTMLParser): def handle_decl(self, data): self.soup.endData() - if data.startswith("DOCTYPE "): - data = data[len("DOCTYPE "):] - elif data == 'DOCTYPE': + doctype_len = len("DOCTYPE ") + if data[:doctype_len].lower() == "doctype ": + data = data[doctype_len:] + elif len(data) == doctype_len-1 and data.lower() == 'doctype': # i.e. "<!DOCTYPE>" data = '' self.soup.handle_data(data) |