Макрос шаблона вывода [MERGETABLEROWS] предназначен для объединения нескольких первых строк HTML таблицы. Это становится весьма актуальным в случаях парсинга таблиц с атрибутами ячеек: colspan и rowspan. Предварительное преобразование таблицы с rowspan и colspan (с помощью макроса [APPLYTABLESPANS]) приводит HTML таблицу в нормальный вид методом размножения (дублирования) объединенных ячеек. По этой причине требуется объединить образовавшиеся строки заголовка таблицы в одну, чтобы затем ее корректно спарсить, например, макросом [VERTTABLE] или [HORIZTABLE].
Макрос [MERGETABLEROWS] может работать в трех режимах:
– Склеивание всех строк заголовка таблицы (thead, до tbody)
– Склеивание указанного количества первых строк HTML таблицы
– Преобразование многострочной HTML Таблицы в двустрочную
1) Склеивание всех строк заголовка таблицы (thead, до tbody)
Например, есть HTML таблица с rowspan и colspan
1 2 | <table> <thead><tr><th rowspan="2">Кодировка</th><th rowspan="2">Подсоед.</th><th colspan="3">... |
Предварительно преобразуем HTML таблицу в нормальный вид с помощью [APPLYTABLESPANS] и получаем примерно такой результат
При этом получившиеся строки заголовка (их может быть больше двух) находятся в теге thead или расположены до тега tbody (обозначены в HTML коде, как заголовок таблицы).
В этом случае для склеивания строк заголовка таблицы используйте макрос [MERGETABLEROWS] с параметром {THEADMODE}
1 2 | [MERGETABLEROWS]{THEADMODE}КОД HTML ТАБЛИЦЫ[/MERGETABLEROWS] - без предварительного преобразования rowspan и colspan [MERGETABLEROWS]{THEADMODE}[APPLYTABLESPANS][FIX]КОД HTML ТАБЛИЦЫ[/APPLYTABLESPANS] - с предварительным преобразованием rowspan и colspan[/MERGETABLEROWS] |
Тогда получим правильную HTML таблицу примерно такого вида
Затем можно парсить из нее характеристики в CSV с помощью макроса [HORIZTABLE] (или [VERTTABLE])
1 | [HORIZTABLE][PREFIX][/PREFIX][MIN]2[/MIN][MERGETABLEROWS]{THEADMODE}[APPLYTABLESPANS][FIX]КОД HTML ТАБЛИЦЫ[/APPLYTABLESPANS][/MERGETABLEROWS][/HORIZTABLE] |
2) Склеивание указанного количества первых строк HTML таблицы
1 2 | [MERGETABLEROWS][ROWSTOMERGE]2[/ROWSTOMERGE]КОД HTML ТАБЛИЦЫ[/MERGETABLEROWS] - склеивание двух первых строк таблицы [MERGETABLEROWS][ROWSTOMERGE]3[/ROWSTOMERGE]КОД HTML ТАБЛИЦЫ[/MERGETABLEROWS] - склеивание трех первых строк таблицы... |
3) Преобразование многострочной HTML Таблицы в двустрочную
1 | [MERGETABLEROWS]КОД HTML ТАБЛИЦЫ[/MERGETABLEROWS] |