Proposals are currently absent
Proposals are currently absent
Proposals concealed
Proposals concealed
-
Vitalii Yanishevsky 29 January 2020Яка знайома проблема, аж скупа чоловіча сльоза на ясні очі навернулась.
Значить, рішень у вас рівно два:
- визначаєте тег, вміст якого вважаєте "шлаком", і ніяк не парсите, просто шукаєте закриваючий тег вліво.
- парсите ВСЕ до перемоги.
В обох випадках маєте "прелесті" із спотиканнями парсера ранійше ніж потрібно (перший випадок) і шлак на вихлопі, або пізнійше ніж потрібно (другий випадок, за умови порушення консистентності тегів) із забитим стеком, витоками пам'яті, незакритими розгалуженнями при додавання чайлдів і т.д. і т.п.
Як вихід бачу попередню валідацію консистенстності за стратегією "парсим ВСЕ" (включаючи script та ін, вважаючи їх так само деревовидними), і у випадку спотикання ігнорим ВСЕ, тикаючи вказівник де відбулась неконсистентність.
Якщо незрозуміло висловився - питайте в ПП.
-
Vladimir B.
29 January 2020
Добрый вечер.
Это мысли относительно внесения изменений именно в данную библиотеку, или о решении проблемы в общем?
-
Vitalii Yanishevsky 30 January 2020І те і друге одночасно. Справа в тому, що якщо ви збираєтесь ігнорувать вміст якоїсь ноди, ви всеодно мусите її розпарсить, інакше не отримаєте що саме ігнорувати. Якщо парсер розбирає текст нормально, проблем немає (хіба затрати часу), якщо текст нормально НЕ розбирається, то його і НЕ слід розбирати на складові, бо інформація про структуру в ньому ВТРАЧЕНА. Дана реалізація не стійка, тому що сходу намагається розбирати на іерархію, і щось йде не так.
Вихід: розбить на два етапи - розібрать структуру, і тільки потім, якщо не було проблем, розбирать на токени.
Current freelance projects in the category Desktop Apps
-
Not specified
Need to transfer the site from Webflow to WordPress.
Web Programming 67 proposals 3 August
-
Not specified
Refinement of the CRM in 1C: displaying the client's bonus balance
Testing & QA 12 proposals 29 July
-
Not specified
Setting up multiple Viber accounts on one remote desktop
13 proposals 28 July
-
172 USD
Light application
PHP 67 proposals 28 July