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 КБ.