diff --git a/pywb/rewrite/html_rewriter.py b/pywb/rewrite/html_rewriter.py index 93b89228..07db475f 100644 --- a/pywb/rewrite/html_rewriter.py +++ b/pywb/rewrite/html_rewriter.py @@ -196,7 +196,10 @@ class HTMLRewriter(HTMLParser): # HTMLParser overrides below def close(self): if (self._wb_parse_context): - result = self.rewrite('') + end_tag = '' + result = self.rewrite(end_tag) + if result.endswith(end_tag): + result = result[:-len(end_tag)] self._wb_parse_context = None else: result = '' diff --git a/pywb/rewrite/test/test_rewrite.py b/pywb/rewrite/test/test_rewrite.py index 954bd035..7164b81f 100644 --- a/pywb/rewrite/test/test_rewrite.py +++ b/pywb/rewrite/test/test_rewrite.py @@ -53,9 +53,9 @@ r""" >>> parse('') -# Unterminated script tag auto-terminate +# Unterminated script tag, handle but don't auto-terminate >>> parse(' +') @@ -66,9 +66,9 @@ r""" >>> parse('') -# Unterminated style tag auto-terminate +# Unterminated style tag, handle but don't auto-terminate >>> parse(' +