| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 | ||||
Тег <img ....> никакого закрывающего, кажется, не имеет - он открывается и тут же закрывается, без всяких </img>. Вот так..
А сколько строк текста это займет?! А можно подсказать метод реализации? /* мне тут подсказывали метод полного автомата, но из-за наличия у тегов параметров программа по этому методу расодится в стороны как дрожжевое тесто */. Спасибо. |
| Автор: ToshaCh 26.11.2005, 11:11 |
| А не лучше ли тебе посмотреть в сторону синтаксического анализатора? Хоть это долго изучать и разбираться, но результат себя оправдывает. Только применять СА к трем тегам глупо и не целесообразно (да ещё и поробуй сделай). А вот обработать с его помощью весь код стоит попробовать. |
| Автор: S.A.P. 26.11.2005, 11:17 | ||||
|
| Автор: oekamon 3.12.2005, 02:10 |
| Задача как раз в том, чтобы проверить правильность написания всех тегов во входном файле. Ничего строить и рисовать не надо - только проверить. Но это уже заставляет попотеть - никода не писал программы тяжелее 60 КБайт... |
| Автор: sergejzr 3.12.2005, 02:15 |
| http://validator.w3.org/ Validator это онлайн. Можешь как вебсервис использовать. http://tidy.sourceforge.net/ юзай как процесс, С++ библиотеку, или выдёргивай код |