加载.docx并使用PHP将其解析为数组

时间:2019-01-07 14:58:23

标签: php arrays associative-array phpword

我希望.docx成为包含元素类型和元素内容的关联PHP数组,如下所示:

$my_document = array(
    array(
        'type' => 'h1',
        'content' => 'Hello world'
    ),
    array(
        'type' => 'p',
        'content' => 'I am a paragraph'
    )
);

我尝试使用PHPWord,但没有成功。使用示例中的代码可以加载.docx文件,但只能将其写入HTML,PDF或RTF文件。

似乎没有办法以某种关联数组的形式返回内容。

加载.docx并将其另存为HTML:

$source =  "word.docx";
echo date('H:i:s'), " Reading contents from `{$source}`";

$phpWord = \PhpOffice\PhpWord\IOFactory::load($source);
$writer = new \PhpOffice\PhpWord\Writer\HTML($phpWord);
$writer->save("my_document.html");

上面的示例有效,但如上所述,我最终在服务器上得到一个HTML文件-而不是内存中的数组。


是否可以使用PHPWord或其他库加载.docx文件,并以关联数组的形式返回其结构?


其他想法:我已经研究过将保存的HTML文件作为DOMDocument加载并从中获取内容,但这似乎效率不高。

0 个答案:

没有答案