HTML-парсер на чистом JavaScript
- Опубликовано:
Автор небезызвестной JavaScript-библиотеки jQuery Джон Резиг написал HTML-парсер на чистом JavaScript.
Обработка всех возможных ошибок HTML не заявляется, однако в большинстве случаев библиотека даёт на выходе вполне корректный XHTML, отлично справляясь с наиболее частыми и очевидными из них, например:
- отсутствие закрывающих тегов:
<p><b>Hello→<p><b>Hello</b></p>- отсутствие закрывающего слэша в «самозакрывающихся» элементах:
<img src=test.jpg>→<img src="test.jpg"/>- незакрытый строчный элемент перед блочным:
<b>Hello <p>John→<b>Hello </b><p>John</p>- отсутствие закрывающих тегов у элементов, для которых это допустимо в HTML4:
<p>Hello<p>World→<p>Hello</p><p>World</p>- булевы атрибуты (флаги):
<input disabled>→<input disabled="disabled"/>- ошибочный порядок закрывающих тегов вложенных элементов:
<b><i>example</b></i>→<b><i>example</i></b>
Попробовать библиотеку в действии можно на демо-странице.
Размер JS-файла без сжатия — чуть более 8 КБ.