【问题标题】:PHP word not replace text in docPHP word 不替换文档中的文本
【发布时间】:2019-12-12 00:33:36
【问题描述】:

我正在尝试在 .docx 文档中进行替换

public function replace($seach, $replace)
{
    $file = base_path() . '/public/templates/test.docx';

    $phpword = new \PhpOffice\PhpWord\TemplateProcessor($file);

    $phpword->setValue('%name%', 'Santosh');
    $phpword->setValue('{lastname}', 'Achari');
    $phpword->setValue('{name}', 'Achari');
    $phpword->setValue('{officeAddress}', 'Yahoo');

    $phpword->saveAs('edited.docx');
}

此代码替换{ },但不替换%%

【问题讨论】:

  • 是要替换第一个选项吗?看起来其他三个已经成为许多模板系统中的标准占位符,它可能是 phpword 中的可配置设置吗?

标签: php laravel ms-word phpword


【解决方案1】:

根据关于Template processing 的文档页面,{} 括号确实是默认值,并且查看codesetValue 函数似乎没有办法内置使用不同的前缀和后缀。

issue 显示了一种可能的方法,但它需要修改 PHPWord 包本身的源代码。

【讨论】:

    猜你喜欢
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多