¿Cómo soluciono las etiquetas HTML anidadas / no cerradas incorrectamente?
Necesito desinfectar el HTML enviado por el usuario cerrando cualquier etiqueta abierta con el orden correcto de anidamiento. He estado buscando un algoritmo o código de Python para hacer esto, pero no he encontrado nada excepto algunas implementaciones a medias en PHP, etc.
Por ejemplo, algo como
<p>
<ul>
<li>Foo
se convierte
<p>
<ul>
<li>Foo</li>
</ul>
</p>
Cualquier ayuda sería apreciada :)