Tool zum Konvertieren von HTML4 in HTML5+CSS

Ich würde gerne ein Tool finden, um alte statische HTML-Dokumente mit Dingen wie zu konvertieren

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

(und andere ähnliche) in ein HTML5-kompatibles Format, in dem diese Attribute von CSS festgelegt werden müssen.

Das Hauptziel besteht darin, die Verwendung veralteter Funktionen zu entfernen und sie durch geeignete Alternativen zu ersetzen.

Inline-CSS würde ausreichen. Beispielsweise
<font color="#0000FF">sollte ersetzt werden durch<span style="color:#0000FF">

Außerdem ist mir die Plattform egal, sogar ein Online-Dienst würde passen.

Im Ernst, ich bin mir nicht sicher, was ich mit dieser Frage anfangen soll. Es ist klar genug, was Sie wollen, es ist mir auch klar, dass Sie es nicht bekommen werden. Es gibt nicht etwas, das schlechten Code auf magische Weise nimmt und guten Code schreibt. Haben Sie eine genauere Liste der Dinge, die Sie konvertieren müssen? Haben Sie eine Liste der verwendeten Formatierungsarten? Ist das Layout beteiligt? (aus Ihrer Probe vermute ich, dass es ist). Wie viel davon würden Sie erwarten zu erhalten? Ich möchte mit "unmöglich" antworten, aber vielleicht gibt es mit mehr Kriterien etwas, das helfen könnte. Voting to close in Erwartung weiterer Daten.
Ich stimme @Caleb zu, es gibt hier kein Wundermittel ... und was noch wichtiger ist, Sie werden das ausgegebene HTML selten konvertieren wollen ... Sie sollten den Quellcode (z. B. ASP / JSP / PHP) konvertieren, der das HTML generiert . Ich denke, Ihre beste Wahl wäre eine Reihe gut geplanter (und sorgfältig geprüfter) globaler Search & Replace-Aufrufe.
@scunliffe OP gibt an, dass die Quelle alte statische HTML-Seiten sind, also ist das kein Problem. (Ich werde nicht einmal auf die Websites eingehen, die Tidy als Live-Ausgabefilter auf all ihren dynamischen Seiten verwenden. Ug)
Es geht nicht um schlechten Code, sondern um gültiges HTML4/XHTML, das aktualisiert werden muss. Nichts Außergewöhnliches, es gibt eine vollständige Liste der Funktionen und ihrer modernen Gegenstücke unter dem Link.
Ja, es gibt ein solches „Werkzeug“; ein bezahlter Webentwickler (obwohl wir es nicht mögen, als Tools bezeichnet zu werden, und ein solches Verhalten auch nicht lustig finden).
Für den "nächsten Schritt", um HTML5 in "XML-umkehrbares HTML5" zu konvertieren, siehe diese andere Frage .

Antworten (2)

Das Dienstprogramm HTML Tidy kann einige der Grundlagen für Sie bereinigen. Es behandelt die grundlegenden Inline-Stilelemente wie <font>, behandelt jedoch keine komplizierteren Dinge wie Tabellen, die für Halb-Layout-Halb-Stil verwendet wurden.

Insbesondere möchten Sie wahrscheinlich die saubere Flagge: (von man tidy)

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

Außerdem eignet sich das Tool gut zum Abfangen von Parsing- und semantischen Fehlern und zum Konvertieren zwischen Dokumenttypen für grundlegende statische Seiten. Es lohnt sich, die Ausgabe des von Ihnen generierten Codes auszuführen, um Fehler zu sehen, die Sie machen, oder Sie können es so konfigurieren, dass es nicht nur Probleme behebt, sondern Sie auch darauf hinweist.

Es gibt ein paar Orte, an denen Sie das Tool online verwenden können .

Das Konvertieren von Tabellen und anderem Müll, der für Layout und Styling verwendet wurde, eher als für semantische Zwecke. Ich denke du hast einfach Pech. Dummheit kann man einfach nicht reparieren.

Ich bin auch auf der Suche nach einem Konvertierungstool... Muss "gutes HTML4" und XHTML1.X konvertieren. Aber Sie müssen alle Schritte der Konvertierung kennen und sicher sein. Ordentlich ist nicht perfekt und die Unvollkommenheiten befinden sich in einer Back-Box , einem unzugänglichen C-Quellcode ...

Es gibt eine perfekte Spezifikation für das Problem: HTML5 ist jetzt (seit dem 28.10.2014) ein Standard (!) und der Abschnitt 11.2, „Nicht konforme Merkmale“ drückt genau aus, was wir tun müssen.

Gibt es "standardisierte, zuverlässige und White-Box"-Tools, um mit diesen Spezifikationen zu arbeiten? Ich denke, die Antwort lautet JA, und die Tools sind einfach und bekannt .

Zuverlässige White-Box-Lösung

Wie ich bereits erwähnt habe, "gutes HTML4" und XHTML1.X: beide können in ein DOM-Dokument geladen werden . Die DOM-basierten Tools sind also:

  1. DOM -Lademethode oder ein Werkzeug zum Vorbereiten und Laden für generisches HTML.

  2. Wandeln Sie (mit DOM oder XSLT) alle "Layout-Tags" in style="..."Attribute um. Diese Art der Konvertierung wird als "in Inline-Stil" bezeichnet und für HTML-E-Mails usw. verwendet. Siehe Bsp. CssToInlineStyles . Das gesamte CSS kann in diesem Prozess vereinheitlicht und neu kompiliert werden.

  3. Konvertieren Sie Tags und Attribute, wie in Abschnitt 11.2 angegeben: XSLT v1+ kann die Aufgabe erledigen.