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

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

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



喵喔喔
浏览 1527回答 3
3回答

尚方宝剑之说

我使用FilterHTML。它很简单,允许您定义一个控制良好的白名单,擦除URL,甚至匹配正则表达式的属性值或每个属性具有自定义过滤功能。如果小心使用它可能是一个安全的解决方案。以下是自述文件的简化示例:import&nbsp;FilterHTML#&nbsp;only&nbsp;allow:#&nbsp;&nbsp;&nbsp;<a>&nbsp;tags&nbsp;with&nbsp;valid&nbsp;href&nbsp;URLs#&nbsp;&nbsp;&nbsp;<img>&nbsp;tags&nbsp;with&nbsp;valid&nbsp;src&nbsp;URLs&nbsp;and&nbsp;measurementswhitelist&nbsp;=&nbsp;{ &nbsp;&nbsp;'a':&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;'href':&nbsp;'url', &nbsp;&nbsp;&nbsp;&nbsp;'target':&nbsp;[ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'_blank', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'_self' &nbsp;&nbsp;&nbsp;&nbsp;], &nbsp;&nbsp;&nbsp;&nbsp;'class':&nbsp;[ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'button' &nbsp;&nbsp;&nbsp;&nbsp;] &nbsp;&nbsp;}, &nbsp;&nbsp;'img':&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;'src':&nbsp;'url', &nbsp;&nbsp;&nbsp;&nbsp;'width':&nbsp;'measurement', &nbsp;&nbsp;&nbsp;&nbsp;'height':&nbsp;'measurement' &nbsp;&nbsp;},}filtered_html&nbsp;=&nbsp;FilterHTML.filter_html(unfiltered_html,&nbsp;whitelist)
打开App,查看更多内容
随时随地看视频慕课网APP