使用phpword将html转换为word

时间:2016-12-23 06:04:53

标签: php xml openxml phpword

我需要将html taged段转换为word文档。

例如我有这样的文字

<ul><li>One</li><li>Two</li><li>Three</li></ul>将此转换为

  • 一个
  • 两个

在使用phpword的单词中,或者在xml

中获取word文档的php格式

1 个答案:

答案 0 :(得分:1)

如果需要显示静态列表,请参见此处: https://github.com/PHPOffice/PHPWord/blob/develop/docs/elements.rst#lists

如果你想将html字符串转换为Word列表,那么你需要使用正则表达式和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');