module Panda.Helper.Escape where import Text.ParserCombinators.Parsec import Char import Data.Either.Utils unicode_char :: Parser Char unicode_char = do char '&' char '#' word <- many1 digit char ';' return $ chr (read word) unescape_parser :: Parser String unescape_parser = many (unicode_char <|> anyChar) unescape s = forceEither $ parse unescape_parser "" s