这是一个使用BeautifulSoup的简单解决方案:
from bs4 import BeautifulSoupVALID_TAGS = ['strong', 'em', 'p', 'ul', 'li', 'br']def sanitize_html(value): soup = BeautifulSoup(value) for tag in soup.findAll(True): if tag.name not in VALID_TAGS: tag.hidden = True return soup.renderContents()
如果您也要删除无效标签的内容,请替换
tag.extract()为
tag.hidden。
您可能还会考虑使用lxml和Tidy。



