@@ -599,7 +599,7 @@ htmlInBalanced f = try $ do
599-- | Matches a tag meeting a certain condition.
599-- | Matches a tag meeting a certain condition.
600htmlTag :: (Tag String -> Bool) -> Parser [Char] st (Tag String, String)
600htmlTag :: (Tag String -> Bool) -> Parser [Char] st (Tag String, String)
601htmlTag f = try $ do
601htmlTag f = try $ do
602− lookAhead (char '<')
602+ lookAhead $ char '<' >> (oneOf "/!?" <|> letter)
603 (next : _) <- getInput >>= return . canonicalizeTags . parseTags
603 (next : _) <- getInput >>= return . canonicalizeTags . parseTags
604 guard $ f next
604 guard $ f next
605 -- advance the parser
605 -- advance the parser