php - 加载 .docx 并使用 PHP 将其解析为数组
问题描述
我希望 .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 并从那里获取内容,但这似乎效率低下。
解决方案
推荐阅读
- css - 如何通过css使用/访问斜体替代字体字母?
- xamarin - 需要在 Dev Express Xamarin 表单中将月份视图显示为“1 Sep”
- database - 如何在 DBeaver 中设置自动连接 .csv 文件的数据类型?
- php - 在 Wordpress 的自定义模板中显示自定义帖子
- python - 将安全组设置为 ALB aws
- python - 如何使用正则表达式查找一个字符超过 1 次?
- google-sheets - Arrayformula 计算动态偏移范围的总和
- c - 是否可以在#define 中有这么多值,如果可以,为什么这段代码不起作用
- python - 使用 dash_cytoscape line-gradient-stop-colors
- c++ - 什么时候用固定索引宏填充数组比增加索引更好?