c++ html c tidy htmltidy

c++ - install tidy



¿Hay alguna alternativa a HTML Tidy? (4)

He incorporado HTML Tidy en mi aplicación para limpiar el HTML entrante. Pero Tidy tiene una gran cantidad de errores y solucionarlos directamente en la fuente es mi peor pesadilla. El código fuente ordenado es una abominación ilegible . Más de mil funciones de línea, nombres de variables pobres, código de espagueti, etc. Es realmente horrible.

Peor aún, el desarrollo oficial parece haber cesado . En los últimos 12 meses, se han realizado tres transacciones de escritura en el repositorio oficial de CVS. Pero ha estado muerto y enterrado por mucho más tiempo que eso ...

Así que estoy buscando una aplicación / biblioteca OSS C o C ++ que pueda hacer lo que Tidy puede (cuando lo desee): corregir un marcado HTML incorrecto y transformarlo en XHTML válido (esta es la parte que me interesa). Y me refiero a todo tipo de malas marcas.

¿Hay algo así por ahí?

EDITAR: lo necesito tanto para manipulaciones en el árbol DOM por una herramienta de manejo de XML como para cumplimiento general con la especificación XHTML. Mi aplicación necesita aceptar HTML de los usuarios (que a menudo es inválido en todo tipo de formas) y generar XHTML válido. Debe ser capaz de manejar incluso HTML que normalmente no se mostraría en un navegador porque el usuario lo editó a mano y no lo verificó después.

Un reemplazo directo para el analizador de corrección de errores de Tidy ... que no apesta. No me importan los errores si la fuente es legible y puedo solucionar los problemas yo mismo, o si hay desarrolladores activos que proporcionan correcciones de errores de manera oportuna.


¿Podría decirnos para qué planea utilizar esta herramienta? Al igual que en, ¿desea arreglar páginas web estáticas, o quiere algún tipo de paso de filtrado antes de otras manipulaciones, para que alguna herramienta pueda manejar páginas web con errores?

Personalmente, escribo mi propia herramienta encima de BeautifulSoup o lxml de Python cada vez que necesito --- es como máximo una docena de guiones de línea y hace mucho de lo que quiero.



Para algo que realmente corrige el código, tu mejor apuesta sigue siendo HTML Tidy. Hay una gran cantidad de linters, pero en realidad no hay nada que repare los errores en HTML, aparte de Tidy.

A primera vista, los programadores OOP modernos podrían pensar que el código fuente es una abominación ilegible , pero en el mundo C, Tidy es una biblioteca bastante sofisticada que utiliza muchos conceptos avanzados de OO y ofrece una interfaz muy cuidadosa que expone casi toda su funcionalidad. en una API C pura.

Un desarrollador casual se perderá, pero una vez inmerso, el código es bastante hermoso. Por supuesto, las convenciones de nomenclatura son una mezcla, ¡pero las relaciones públicas son bienvenidas!