我使用以下内容在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()
(另外,代码块没有合作,请想象最后三行的缩进)
答案 0 :(得分:0)
正则表达式替换听起来像是一种简单的方法。
import re
text = '<b>foo&bar <a href="http://www.example.com/">link</a></b>'
re.sub(r'<.+?>', '', text)
# foo&bar link
可能有一些我没想过的特殊情况需要更复杂的正则表达式。