Herramienta para convertir HTML4 a HTML5+CSS

Me gustaría encontrar una herramienta para convertir documentos HTML estáticos antiguos con cosas como

<table border="1" cellspacing="0" cellpadding="0">
<td width="284" valign="top">
<font color="#0000FF">

(y otros similares) al formato compatible con HTML5 donde esos atributos deben ser establecidos por CSS.

El objetivo principal es eliminar el uso de funciones obsoletas y reemplazarlas con una alternativa adecuada.

CSS en línea sería suficiente. Por ejemplo,
<font color="#0000FF">debe ser reemplazado por<span style="color:#0000FF">

Además, no me importa la plataforma, incluso el servicio en línea sería adecuado.

En una nota más seria, no estoy seguro de qué hacer con esta pregunta. Está bastante claro lo que quieres, también está claro para mí que no lo vas a conseguir. No hay algo que mágicamente tome un código malo y escriba un buen código. ¿Tiene una lista más específica de las cosas que necesita convertir? ¿Tiene una lista de los tipos de formato utilizados? ¿Está involucrado el diseño? (de su muestra, supongo que lo es). ¿Cuánto de eso esperarías que se conserve? Quiero responder "imposible" tal como está, pero tal vez con más criterios haya algo que pueda ayudar. Votando para cerrar a la espera de más datos.
Estoy de acuerdo con @Caleb, no hay una varita mágica aquí... y lo que es más importante, rara vez querrá convertir el HTML generado... querrá convertir el código fuente (por ejemplo, ASP/JSP/PHP) que genera el HTML . Creo que su mejor apuesta sería una serie de llamadas globales de búsqueda y reemplazo bien planificadas (e inspeccionadas cuidadosamente).
@scunliffe OP afirma que la fuente son páginas html estáticas antiguas, por lo que no es una preocupación. (Ni siquiera entraré en los sitios que usan tidy como un filtro de salida en vivo en todas sus páginas dinámicas. Ug)
No se trata de código incorrecto , sino de HTML4/XHTML válido que debe actualizarse. Nada excepcional, hay una lista completa de características y sus contrapartes modernas en el enlace.
Sí, existe tal 'herramienta'; un desarrollador web pagado (aunque no nos gusta que nos llamen herramientas y tampoco encontramos divertido ese comportamiento).
Para el "siguiente paso", para convertir HTML5 en "XML-reversible HTML5", consulte esta otra pregunta .

Respuestas (2)

La utilidad HTML Tidy puede limpiar algunos de los conceptos básicos por usted. Cubrirá los elementos básicos de estilo en línea como <font>, pero no manejará cosas más complicadas como cuando las tablas que se han usado para la mitad del estilo del diseño.

En particular, probablemente desee la bandera limpia: (de man tidy)

-clean, -c
    replace FONT, NOBR and CENTER tags by CSS (clean: yes)

En otras noticias, la herramienta es buena para detectar errores de análisis y semánticos y convertir entre tipos de documentos para páginas estáticas básicas. Vale la pena ejecutar la salida del código que ha generado para ver los errores que está cometiendo, ya que puede configurarlo no solo para solucionar problemas sino también para señalarlos.

Hay un par de lugares donde puede usar la herramienta en línea .

En cuanto a la conversión de tablas y otra basura que se ha utilizado para el diseño y el estilo en lugar del uso semántico. Creo que no tienes suerte. Simplemente no puedes arreglar estupideces.

Yo también estoy buscando una herramienta de conversión... Necesito convertir "buen HTML4" y XHTML1.X. Pero necesita saber y estar seguro de todos los pasos de la conversión. Tidy no es perfecto y las imperfecciones están en una caja trasera , un código fuente C inaccesible ...

Hay una especificación perfecta para el problema: ahora (desde el 28 de octubre de 2014) HTML5 es un estándar (!) y la sección 11.2, "Características no conformes" expresa exactamente lo que debemos hacer.

¿Existen herramientas "estándar, confiables y de caja blanca" para trabajar con estas especificaciones? Creo que la respuesta es SÍ, y las herramientas son sencillas y conocidas .

Solución confiable de caja blanca

Como mencioné, "buen HTML4" y XHTML1.X: ambos se pueden cargar en un documento DOM . Entonces, las herramientas basadas en DOM son:

  1. Método de carga DOM o una herramienta de "preparación y carga" para HTML genérico.

  2. Convierta (con DOM o XSLT) todas las "etiquetas de diseño" en style="..."atributos. Este tipo de conversión se denomina "a estilo en línea", se utiliza para correos electrónicos HTML, etc. Ver ej. CssToInlineStyles . Todo el CSS se puede unificar y volver a compilar en este proceso.

  3. Convierta etiquetas y atributos, como se especifica en la sección 11.2 : XSLT v1+ puede hacer la tarea.