$escaped =
implode("\n",
array_map(OutputFormatter::
escapeTrailingBackslash(...
),
explode("\n",
$cell)));
$cell =
$cell instanceof TableCell ?
new TableCell($escaped,
['colspan' =>
$cell->
getColspan()]) :
$escaped;
$lines =
explode("\n",
str_replace("\n", "<fg=default;bg=default></>\n",
$cell));
foreach ($lines as $lineKey =>
$line) { if ($colspan > 1
) { $line =
new TableCell($line,
['colspan' =>
$colspan]);
} if (0 ===
$lineKey) { $rows[$rowKey][$column] =
$line;
} else { if (!\
array_key_exists($rowKey,
$unmergedRows) || !\
array_key_exists($lineKey,
$unmergedRows[$rowKey])) { $unmergedRows[$rowKey][$lineKey] =
$this->
copyRow($rows,
$rowKey);
} $unmergedRows[$rowKey][$lineKey][$column] =
$line;
} } } } return new TableRows(function D
) use ($rows,
$unmergedRows): \Traversable
{ foreach ($rows as $rowKey =>
$row) { $rowGroup =
[$row instanceof TableSeparator ?
$row :
$this->
fillCells($row)];