All pastes #510479 Raw Edit

Miscellany

public python v1 · immutable
·published 2007-05-25 22:22 UTC
rendered paste body
# TODO : need to removed javascript as wellimport re#p2 = re.compile('</?br>|</?p>' , re.I)p = re.compile('</?br>|</?p>' , re.I)def strip_html(text):    #text = text.decode('iso-8859-1')    # text = p2.sub('\n', text)    text = re.sub('[\n\r]+', ' ', text)    text = p.sub('\n', text)    def fixup(m):        text = m.group(0)        if text[:1] == "<":            mm = p.match(text)            if mm:                res = mm.group(1)                if res[:1] == "&":                    return handle_entity(res)                return ""            return "" # ignore tags        if text[:2] == "&#":            try:                if text[:3] == "&#x":                    return unichr(int(text[3:-1], 16))                else:                    return unichr(int(text[2:-1]))            except ValueError:                pass        elif text[:1] == "&":            return handle_entity(text)        return text # leave as is    text = re.sub("(?s)<[^>]*>|&#?\w+;", fixup, text)    text = re.sub('[ \t]+', ' ', text)    return text    import htmlentitydefsdef handle_entity(text):    entity = htmlentitydefs.entitydefs.get(text[1:-1])    if entity:        if entity[:2] == "&#":            try:                u = unichr(int(entity[2:-1]))                return u            except ValueError, e:                print e                pass        else:            return entity            #return unicode(entity, "iso-8859-1")