微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从Python字符串中删除不在允许列表中的HTML标签

如何解决从Python字符串中删除不在允许列表中的HTML标签

这是一个使用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

您可能还会考虑使用lxmlTidy

解决方法

我有一个包含文本和HTML的字符串。我想删除或以其他方式禁用某些HTML标记,例如<script>,同时允许其他HTML标记,以便我可以安全地在网页上呈现它。我有一个允许标签的列表,如何处理字符串以删除任何其他标签?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。