При необходимости обработки большого количества HTML документов в полный рост встает вопрос исправления некорректного кода. Все самое лучшее уже придумали.
HTML Tidy — исправление некорректного кода
HTML Tidy бесплатная программа для исправления ошибок в html, xhtml, xml коде. Из возможностей — преобразование html в корректный xhtml, закрытие тегов, исправление порядка вложенности тегов и все остальное.
HTML Tidy Library Project — страница проекта. Версии для разных ОС
Исправь свои WEB-страницы с помощью HTML Tidy — статья с примерами работы утилиты HTML Tidy на w3.org
Сама по себе Tidy HTML представляет собой консольную программу, которая получая на входе файл и перечень опций способна вернуть «исправленную» версию кода + (при необходимости) файл со списком найденных ошибок.
Чтобы получить список опций необходимо запустить Tidy с параметром «-help» или (для более подробного описания) «-help | more».
Если в обрабатываемом файле присутствует кириллица — необходимо включить параметр raw для опции char-encoding. Это важно!
Исправление ошибок в коде HTML
На сайте разработчика присутствует GUI для тех кто без него никак: GUI Tidy HTML для Windows и Linux.
Решения на PHP для исправления некорректного HTML, XHTML
Существует tidy-модуль к php. Вероятно его использование (где это возможно) — оптимальное решение. Как вариант предлагается воспользоваться классом HTMLSax3.
WordPress должен исправлять некорректный XHTML код автоматически
В WordPress для автоматического исправления кода существует специальный фильтр force_balance_tags, который находится в файле wp-includes/formatting.php
Важно понимать, что обработка введенного этим фильтром (который активизируется галкой «WordPress should correct invalidly nested XHTML automatically» на странице Settings → Writing) кода производится в момент публикации.
Зачем это все может понадобиться
Превращение документов текстовых редакторов (типа MS Word) или визуальных редакторов в правильные HTML страницы.
Автоматический парсинг чужого HTML.
Подобное преобразуем к виду
td style=»align:center; width:80; height: 80;»>
3. An img element must have an alt attribute, except under certain conditions. For details, consult guidance on providing text alternatives for images.
Одна из самых частых ошибок. Просто не хватает альтернативного текста для картинки. Прописываем тег alt.
4. Section lacks heading. Consider using h2-h6 elements to add identifying headings to all sections.
Внутри блока section должны содержаться что-то из тегов h2-h6, если их нет, просто переименовываем слово section на div
5. The hgroup element is obsolete. To mark up subheadings, consider either just putting the subheading into a p element after the h1-h6 element containing the main heading,
or else putting the subheading directly within the h1-h6 element containing the main heading, but separated from the main heading by punctuation and/or within, for example, a span element with differentiated styling. To group headings and subheadings, alternative titles, or taglines, consider using the header or div elements.
Учим HTML | W3C валидатор. Как проверять себя на ошибки?
Аналогично предыдущему пункту. Просто меняем фразу hgroup на div. Вы можете использовать инструмент «Найти/заменить все» в текстовом редакторе, чтобы ускорить подобные процессы.
6. Element «noindex» undefined
Чтобы тег noindex стал валидным, пишем его в виде комментирования, то есть так:
<!—noindex—>Неиндексируем<!—/noindex—>
7. End tag for element «div» which is not open
Закрывающий тег div лишний. Убираем его.
8. Document type does not allow element «li» here; missing one of «ul», «ol», «menu», «dir» start-tag
Неправильное использование тега «li»: отсутствует тег «ul», «ol» и др. Проверьте.
9. End tag for «div» omitted, but OMITTAG NO was specified
Не хватает закрывающего тега div.
10. There is no attribute «border»
alt=»» width=»1″ height=»1″ border= « 0″/>
Просто удаляем фразу border=»0″.
11. Character «
12. Saw » when expecting an attribute name. Probable cause: = missing immediately before.
Лишняя кавычка, удалите ее.
13. The align attribute on the img element is obsolete. Use CSS instead.
Не используйте значение align внутри тега img. Пропишите ее отдельно, в таком виде:
<div align=’center’>тут картинка (img src)</div>
14. Bad value for attribute href on element link: Illegal character in path segment: not a URL code point.
То, что идет в href должно быть ссылкой, начинаться с http, но никак не слово.
Заключение
Если у вас на сайте есть какая-то ошибка, которой нет в этом списке — пишите в комментариях. Разберемся, а я дополню статью. Повторюсь, если какую-то ошибку не получается исправить, не стоит заморачиваться.
У меня на блоге осталась ошибка (хотя еще вчера почему-то код был без ошибок):
The text content of element script was not in the required format: Expected space, tab, newline, or slash but found < instead.
Если в курсе, как исправить ее, буду признателен. Я немножко перфекционист.
Будете ли вы делать HTML код сайта валидным?
Пожелаю вам получить валидный HTML код на вашем сайте, уведомление которого выглядит так:
P.s. Вы часто перегружаете свой организм? Тогда вам нужна программа детоксикации. Восстановите силы и энергетический баланс.
Источник: wpnew.ru