剥离HTML标记而不删除& - Python中的&符号

时间:2013-10-23 18:31:42

标签: python html

我使用以下内容在Python中删除HTML标记,但它也删除了& (&符号)我需要他们留下来。有什么想法吗?

来自HTMLParser的

导入HTMLParser

class MLStripper(HTMLParser):
    def __init__(self):
        self.reset()
        self.fed = []
    def handle_data(self, d):
        self.fed.append(d)
    def get_data(self):
        return ''.join(self.fed)

def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()


(另外,代码块没有合作,请想象最后三行的缩进)

1 个答案:

答案 0 :(得分:0)

正则表达式替换听起来像是一种简单的方法。

import re
text = '<b>foo&bar <a href="http://www.example.com/">link</a></b>'
re.sub(r'<.+?>', '', text)
# foo&bar link

可能有一些我没想过的特殊情况需要更复杂的正则表达式。