Инструмент для конвертации HTML4 в HTML5+CSS

Я хотел бы найти инструмент для преобразования старых статических HTML-документов с такими вещами, как

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

(и другие подобные) в формат, совместимый с HTML5, где эти атрибуты должны быть установлены CSS.

Основная цель — исключить использование устаревших функций и заменить их соответствующей альтернативой.

Встроенного CSS будет достаточно. Например,
<font color="#0000FF">следует заменить на<span style="color:#0000FF">

Также меня не волнует платформа, подойдет даже онлайн-сервис.

А если серьезно, то я не знаю, что делать с этим вопросом. Достаточно ясно, чего ты хочешь, и мне также ясно, что ты этого не получишь. Не существует чего-то, что просто волшебным образом берет плохой код и пишет хороший. У вас есть более конкретный список вещей, которые вам нужно преобразовать? У вас есть список используемых видов форматирования? Планировка задействована? (из вашего образца я предполагаю, что это так). Как много из этого вы ожидаете сохранить? Я хочу ответить «невозможно» в его нынешнем виде, но, возможно, с дополнительными критериями что-то может помочь. Голосование за закрытие в ожидании дополнительных данных.
Я согласен с @Caleb, здесь нет волшебной палочки ... и, что более важно, вы редко захотите преобразовывать выведенный HTML ... вы захотите преобразовать исходный (например, ASP / JSP / PHP) код, который генерирует HTML . Я думаю, что лучшим выбором будет серия хорошо спланированных (и тщательно проверенных) глобальных вызовов «Найти и заменить».
@scunliffe OP заявляет, что источником являются старые статические html-страницы, так что это не проблема. (Я даже не буду заходить на сайты, которые используют tidy в качестве живого фильтра вывода на всех своих динамических страницах. Тьфу)
Речь идет не о плохом коде, а о правильном HTML4/XHTML, который необходимо обновить. Ничего выдающегося, полный список функций и их современные аналоги по ссылке.
Да, такой «инструмент» есть; платный веб-разработчик (хотя мы не любим, когда нас называют инструментами, и не находим такое поведение забавным).
Для «следующего шага», чтобы преобразовать HTML5 в «XML-обратимый HTML5», см. этот другой вопрос .

Ответы (2)

Утилита HTML Tidy поможет вам очистить некоторые основы. Он будет охватывать основные элементы встроенного стиля, такие как <font>, но не будет обрабатывать более сложные вещи, такие как таблицы, которые использовались для половинного стиля макета.

В частности, вам, вероятно, нужен чистый флаг: (от man tidy)

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

Что касается других новостей, инструмент хорош для обнаружения синтаксических и семантических ошибок и преобразования между типами документов для основных статических страниц. Стоит запустить вывод сгенерированного вами кода, чтобы увидеть ошибки, которые вы делаете. ОС вы можете настроить его не только для исправления проблем, но и для указания на них вам.

Есть несколько мест, где вы можете использовать этот инструмент онлайн .

Что касается преобразования таблиц и другого мусора, который использовался для макета и стиля, а не для семантического использования. Я думаю, вам просто не повезло. Вы просто не можете исправить глупость.

Я тоже ищу инструмент для конвертации... Нужно конвертировать "хороший HTML4" и XHTML1.X. Но нужно знать и быть уверенным во всех шагах преобразования. Приборка не идеальна, а несовершенства скрыты в заднем ящике , в недоступном исходном коде C ...

Есть идеальное описание проблемы: теперь (с 2014-10-28) HTML5 является стандартом (!) и раздел 11.2, «Несоответствующие функции» точно описывает, что мы должны делать.

Существуют ли «стандартные, надежные и «белые ящики» инструментов для работы с этими спецификациями? Я думаю, что ответ ДА, а инструменты просты и хорошо известны .

Надежное решение «белого ящика»

Как я уже упоминал, «хороший HTML4» и XHTML1.X: оба могут быть загружены в DOM Document . Итак, инструменты на основе DOM:

  1. Метод загрузки DOM или инструмент «подготовить и загрузить» для общего HTML.

  2. Преобразуйте (с помощью DOM или XSLT) все «теги макета» в style="..."атрибуты. Этот вид преобразования называется "встроенный стиль" и используется для электронных писем в формате HTML и т. д. См. упр. Ксстоинлинестилес . Весь CSS может быть унифицирован и перекомпилирован в этом процессе.

  3. Преобразование тегов и атрибутов, как указано в разделе 11.2 : XSLT v1+ может выполнить эту задачу.