Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Распознавание html тэгов


Автор: oekamon 24.11.2005, 23:50
Здравствуйте,
я бы хотел спросить у Вас совета: как можно организовать проверку правильности написания html-тегов типа "a" (состоит из одного идентификатора), типа "p" (состоит из идентификатора и параметров) и типа "img" (состоит из идентификатора, параметров, но не закрывается).
Спасибо.

Автор: S.A.P. 25.11.2005, 00:00
Что то я вопроса не понял.

И у <a> и у <p> и у <img> могут быть параметры, а согласно спецификации XHTML, все теги должны быть закрыты.

Уточни вопрос.

Автор: _hunter 25.11.2005, 13:07
как-как... точно так же как и человек: составляеш табличку тегов, их атрибутов и информацию о том, есть ли у него ( тега ) закрывающий.
потом проверяеш все ли найденные атрибуты есть в табличке ( так же проверяеш есть ли вообще такой тег )
+ проверяеш все ли атрибуты правильно записаны ( в основном кавычки )

Автор: oekamon 26.11.2005, 07:58
Цитата
согласно спецификации XHTML, все теги должны быть закрыты.

Тег <img ....> никакого закрывающего, кажется, не имеет - он открывается и тут же закрывается, без всяких </img>. Вот так..
Цитата
проверяеш все ли найденные атрибуты есть в табличке ( так же проверяеш есть ли вообще такой тег ) + проверяеш все ли атрибуты правильно записаны ( в основном кавычки )

А сколько строк текста это займет?! А можно подсказать метод реализации? /* мне тут подсказывали метод полного автомата, но из-за наличия у тегов параметров программа по этому методу расодится в стороны как дрожжевое тесто */.
Спасибо.

Автор: ToshaCh 26.11.2005, 11:11
А не лучше ли тебе посмотреть в сторону синтаксического анализатора?
Хоть это долго изучать и разбираться, но результат себя оправдывает.
Только применять СА к трем тегам глупо и не целесообразно (да ещё и поробуй сделай). А вот обработать с его помощью весь код стоит попробовать.

Автор: S.A.P. 26.11.2005, 11:17
Цитата(oekamon @ 26.11.2005, 07:58)
А можно подсказать метод реализации?
а как это должно работать в конечном итоге? Что за задача у тебя?

Цитата(oekamon @ 26.11.2005, 07:58)
ег <img ....> никакого закрывающего, кажется, не имеет - он открывается и тут же закрывается, без всяких </img>. В
в HTML может не закрываться, в XHTML должен закрываться.

Автор: oekamon 3.12.2005, 02:10
Задача как раз в том, чтобы проверить правильность написания всех тегов во входном файле. Ничего строить и рисовать не надо - только проверить. Но это уже заставляет попотеть - никода не писал программы тяжелее 60 КБайт...

Автор: sergejzr 3.12.2005, 02:15
http://validator.w3.org/ Validator это онлайн. Можешь как вебсервис использовать.

http://tidy.sourceforge.net/ юзай как процесс, С++ библиотеку, или выдёргивай код smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)