本文介绍了Python的HTML清洁器/洗涤器/过滤器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在寻找一个模块,用于删除字符串中的任何HTML标签,这些标签在白名单中找不到。
I'm looking for a module that will remove any HTML tags from a string that are not found in a whitelist.
推荐答案
BeautifulSoup :
from bs4 import BeautifulSoup
VALID_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
。
If you want to remove the contents of the invalid tags as well, substitute tag.extract()
for tag.hidden
.
您也可以使用和。
这篇关于Python的HTML清洁器/洗涤器/过滤器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!