Мне нужно конвертировать html-абзац в текстовый документ.
Например, у меня есть такой текст
<ul><li>One</li><li>Two</li><li>Three</li></ul>
преобразовать это в
в слове, используя phpword
или получить xml
формат для текстового документа в php
Если вам нужно отобразить статические списки, смотрите здесь:
https://github.com/PHPOffice/PHPWord/blob/develop/docs/elements.rst#lists
Если вы хотите преобразовать HTML-строку в список Word, вам нужно использовать regex и preg_match
<?php
// New Word Document
$phpWord = new PhpOffice\PhpWord\PhpWord();
// New portrait section
$section = $phpWord->addSection();
//Extract and add all options
$html = '<ul><li>One</li><li>Two</li><li>Three</li></ul>';
preg_match_all('/<li>(.+?)<\/li>/i', $html, $matches);
foreach ($matches[1] as $option) {
$section->addListItem('$option', 0);
}
// Save File
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('ListItem.docx');
Других решений пока нет …