[Delphi] Доработка библиотеки HTMLp (библиотека для парсинга)
Необходима доработка библиотеки HTMLp (форк) для парсинга HTML.
Задача:
Добавить обработку тегов script, code, template и других подобных.
Необходимость выполнения:
В текущий момент если парсить страницу в которой присутствует например тег script в котором имеется html содержимое с другими тегами (в переменной или еще где + часто не закрытыми или экранированными) - возникают утечки.
Что при массовой работе приводит к крашам и другим ошибкам.
Суть задачи:
Для указанных тегов исключить парсинг содержимого (других тегов в них).
Но сам тег и его содержимое должно оставаться для дальнейшего получения (то-есть сохранить как один тег со всем содержимым).
Кот в итоге уйдёт в репозиторий.
Для исполнителей:
Пишите о том ознакомились ли, стоимость и мысли по решению данной проблемы.
Авто-ответы игнорируются, за подробностями если нет конкретных мыслей - не пишу.
Заранее спасибо.
-

Яка знайома проблема, аж скупа чоловіча сльоза на ясні очі навернулась.
Значить, рішень у вас рівно два:
- визначаєте тег, вміст якого вважаєте "шлаком", і ніяк не парсите, просто шукаєте закриваючий тег вліво.
- парсите ВСЕ до перемоги.
В обох випадках маєте "прелесті" із спотиканнями парсера ранійше ніж потрібно (перший випадок) і шлак на вихлопі, або пізнійше ніж потрібно (другий випадок, за умови порушення консистентності тегів) із забитим стеком, витоками пам'яті, незакритими розгалуженнями при додавання чайлдів і т.д. і т.п.
Як вихід бачу попередню валідацію консистенстності за стратегією "парсим ВСЕ" (включаючи script та ін, вважаючи їх так само деревовидними), і у випадку спотикання ігнорим ВСЕ, тикаючи вказівник де відбулась неконсистентність.
Якщо незрозуміло висловився - питайте в ПП.
-
Aktualne zlecenia dla freelancerów w kategorii Aplikacje desktopowe
Dodać przerwy 10-30 sekund między wysyłkami e-mailiWitam! Szukam doświadczonego programisty 1C / BAS (BAF) do szybkiego rozwiązania problemu technicznego z wysyłką maili.Istota problemu: Używamy programu księgowego BAF (Business Automation Framework), edycja 2.0. Raz w miesiącu pojawia się potrzeba masowego wysyłania klientom… Programowanie stron internetowych, Aplikacje desktopowe ∙ 4 dni 23 godziny temu ∙ 10 ofert |
Rewersowe inżynieria konsolowych narzędzi do ankietowania kontrolerów SSD (Flash ID)1. Cel pracy Wydzielenie interfejsu programowania aplikacji (API) do interakcji z kontrolerami SSD/NVMe z dostarczonego zestawu narzędzi konsolowych (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron itd.). Wynikiem ma być działający kod w języku C/C++ lub dokładna… C i C++, Aplikacje desktopowe ∙ 5 dni 10 godzin temu ∙ 5 ofert |
Modyfikacja w pracy emulatora
163 PLN
Witaj. Ściągnąłem z Internetu emulator automatu do gier gaminator cf final. Bardzo mi się podoba, ale są tam niedociągnięcia. Jest panel administracyjny, ale otwiera się swobodnie, a nie zamyka w ogóle. Zamyka się tylko razem z aplikacją. A dane po zmianach w panelu… Aplikacje desktopowe ∙ 13 dni temu ∙ 10 ofert |