Разработка приложений для ПК. Доработка существующего продукта. Задача стоит так. Есть текст из Word файла. Обычный форматный текст разбираем как массив через символ переноса строки. Table заносим в этот же массив но в виде двумерного массива где строки это первый уровень А ячейки вложены внутрь. Если у нас ячейка объединена по строкам и/или по столбцам то заносим это свойство в табличку. В итоги должно получиться что-то вроде. [0] => Array ( [type] => text [content] => Array ( [0] => Требования к содержанию, составу заявки на участие в закупке в соответствии с Федеральным законом от 05.04.2013 № 44-ФЗ «О контрактной системе в сфере закупок товаров, работ, услуг для обеспечения государственных и муниципальных нужд» и инструкция по ее заполнению (для электронного аукциона) [1] => Закон № 44-ФЗ – Федеральный закон от 05.04.2013 № 44-ФЗ «О контрактной системе в сфере закупок товаров, работ, услуг для обеспечения государственных и муниципальных нужд» [2] => 1. СОДЕРЖАНИЕ, СОСТАВ ЗАЯВКИ НА УЧАСТИЕ В ЗАКУПКЕ [3] => ) ) [1] => Array ( [type] => table [content] => Array ( [0] => Array ( [type] => cell [Cspan] => 1 [Rspan] => 2 [content] => № ) [1] => Array ( [type] => cell [Cspan] => 1 [Rspan] => 2 [content] => Наименование предмета контракта ) [2] => Array ( [type] => cell [Cspan] => 1 [Rspan] => 2 [content] => Существенные условия исполнения контракта ) [3] => Array ( [type] => cell [Cspan] => 1 [Rspan] => 1 [content] => Ед. изм ) ) [1] => Array ( [0] => Array ( [type] => cell [Piece] => 0/0 (указываем номер ячейки в которой лежит контент) ) [1] => Array ( [type] => cell [Piece] => 0/1 (указываем номер ячейки в которой лежит контент) ) [2] => Array ( [type] => cell [Piece] => 0/2 (указываем номер ячейки в которой лежит контент) ) [3] => Array ( [type] => cell [Cspan] => 1 [Rspan] => 1 [content] => Общая ) ) [2] => Array ( [0] => Array ( [type] => cell [Cspan] => 1 [Rspan] => 1 [content] => первый ) [1] => Array ( [type] => cell [Cspan] => 1 [Rspan] => 1 [content] => Поставка тазов ) [2] => Array ( [type] => cell [Cspan] => 1 [Rspan] => 1 [content] => Сроки не более 5 дней ) [3] => Array ( [type] => cell [Cspan] => 1 [Rspan] => 1 [content] => Штуки ) ) ) ) Ну и так далее ВАЖНО! Каждая вложенная ячейка повторно прогоняется через Text_parsing так как если там может быть вложенная табличка. Читаем файл word с помощью: function readDocx($filename) { $zip = new ZipArchive(); if ($zip->open($filename)) { $content = $zip->getFromName(“word/document.xml“); $zip->close(); return Text_parsing($content); } return false; } И разумеется я хочу чтобы Text_parsing вернул мне array по формату выше.