用PHP换个思路读取WORD内容
项目:问卷
需求:WORD 导入问卷
背景:运营那里有几百个 WORD 格式问卷,如果去后台手动录入,无疑工作量很大,希望能直接导入。
心情:接到需求之后五味杂陈,因为以前做过 excel 导入,而且有现成的插件,代码也是一搜索一堆。
word 导入无疑涉及到了知识盲点,但是需求就在那里,又怼不过产品同学!只能硬着头皮上了。
难点:word 不好读取内容,内容读出来不好结构化。
解决问题思路:
先读取 WORD, 再说怎么结构化。
读取 WORD:
一开始想着用 PHPWORD, 毕竟 PHPOFFICE 这么成熟的插件应该可以直接读取到 WORD 内容吧。
然而现实很骨感,找遍了文档并没有找到直接读取到 WORD 内容的方法。PHPWORD 只提供了把 WORD 转换成 HTML,TDF 的方法。
转换思路:
既然不能读取 WORD, 那我可以读取 HTML, 只需要把 WORD 转换成 HTML 就可以了,然后读取 HTML 内容就行。
代码:
<?php namespace App\Console\Commands; use Illuminate\Console\Command; use PhpOffice\PhpSpreadsheet\Reader\Html; use PhpOffice\PhpWord\Reader\Word2007; class Test extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'word'; /** * The console command description. * * @var string */ protected $description = 'word'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return int */ public function handle(Word2007 $word) { //WORD转换HTML $result=$word->load(storage_path('测试.docx')); $write=new \PhpOffice\PhpWord\Writer\HTML($result); $write->save(storage_path().'/测试.html'); //读取HTML内容 $document=new \DOMDocument(); $document->loadHTML(file_get_contents(storage_path('测试.html'))); $html=simplexml_import_dom($document); dd((array)$html->body); } }
开始测试:新建 测试.docx
测试.docx 内容:
执行脚本:
php artisan word
结果:
以上是用PHP换个思路读取WORD内容的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

登录 CakePHP 是一项非常简单的任务。您只需使用一项功能即可。您可以记录任何后台进程(如 cronjob)的错误、异常、用户活动、用户采取的操作。在 CakePHP 中记录数据很容易。提供了 log() 函数
