'Returns the HTML string with all element tags (e.g. <p>) removed.
- exclude    : a list of tags to keep. Element attributes are stripped.
To preserve attributes a dict of (tag name, [attribute])-items can be given.
- replace    : a dictionary of (tag name, (replace_before, replace_after))-items.
By default, block-level elements are separated with linebreaks.'

def strip(self, html, exclude=[], replace=blocks):

    if (html is None):
        return None
    self._exclude = ((isinstance(exclude, dict) and exclude) or dict.fromkeys(exclude, []))
    self._replace = replace
    self._data = []
    self.feed(self.clean(html))
    self.close()
    self.reset()
    return ''.join(self._data)
