我想删除所有html标签,除了我的字符串与python 我用这个:
from HTMLParser import 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()
但这会删除我的所有html标签。
答案 0 :(得分:2)
如果我理解正确,你想剥离html标签,但保留一些具体的标签? 如果是这种情况 - 那么只需继续监视开始/结束标记,并在需要时处理它们。例如:
MY_TAGS = ["tag1", "tag2"]
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 handle_starttag(self, tag, attrs):
if tag in MY_TAGS:
self.fed.append("<%s>" % tag) # tag is only string, no < or >.
def handle_endtag(self, tag):
if tag in MY_TAGS:
self.fed.append("</%s>" % tag)