1

我正在尝试学习如何使用 PHP [QueryPath] 修改 .docx 和 .odt 文件,当我从 WAMP 上的 cmd.exe [command line] 运行此脚本 [below] 时,在命令行上它显示了我想要的更改已经完成并且标签内的所有文本都已更改,但是当我打开一个实际的 docx 文件或其 xml 等效文件时 - 没有进行任何更改。为什么?我该如何纠正这个问题?提前致谢。

    <?php

require 'src/QueryPath/QueryPath.php';

$file = 'zip://test1.docx#word/document.xml';

$doc = qp($file);

foreach($doc->find('w|t') as $item) {
        $item->text('BLABLABLA')->writeXML();
}


?>
4

1 回答 1

2

文档writeXML

将文档写入文件路径(如果给定)或标准输出(通常是客户端)。

由于您没有向其传递任何内容,writeXML因此只会显示修改后的 XML,而不是将其保存到文件中。

此外,您应该将代码修改为仅在脚本末尾调用writeXML一次,即

$doc->writeXML($filename);

于 2013-02-24T23:39:36.983 回答