当前位置: 首页 > 知识库问答 >
问题:

如何在PHP中删除。docx文件中的邮件合并字段?

和选
2023-03-14

目前,我正在使用以下方法替换docx文件中的邮件合并字段。这将用数据库中的一个值替换邮件合并字段«地址_1»»地址_2»等,并向其输出一个新的文档文件。

private function __parseFile($thefile)
    {
        $this->_multicount++;
        $content = file_get_contents($thefile); ///this is document.xml extracted from the docx file
        foreach ($this->searchlist as $placeholder => $val) {
            if($val=='' || empty($val)){
                $content = str_replace('«'.$placeholder.'»', '', $content); ;
            }else{
                $content = str_replace('«'.$placeholder.'»', htmlspecialchars($val), $content);   
            }
            
        }
        $newfile = $thefile.'.new'.($this->_multicount);
        $fh = fopen($newfile, 'wb');
        fwrite($fh, $content);
        fclose($fh);
    }

当数据库中的值为空时,可以做什么,还有更好的方法可以删除合并字段,以消除输出文档文件中的空白行/段落。

共有1个答案

袁康裕
2023-03-14

通过使用字段规则,您可以轻松地在Word中解决这一问题。您将所有这些都放在一行中,并定义规则。

如果该字段不为空,请打印换行符。

 类似资料:
  • 问题内容: 我有2个文件,并且两个文件的结构相似,我想拥有一个。我尝试了许多解决方案,但只有错误-坦白地说,我不知道这些脚本是如何工作的。 : : 我想用以下结构创建一个新文件 我应该怎么做?你能解释一下方法吗?如何处理更多文件?谢谢 编辑 我尝试了什么? 编辑2 遵循Torious的建议,我查看了DOMDocument手册并找到了一个示例: 但是它创建了错误的xml文件: 而且我无法正确使用此文

  • 我正在使用apache kafka生成和使用一个5GB大小的文件。我想知道是否有一种方式从主题的消息被消费后自动移除。我有办法跟踪已消费的消息吗?我不想手动删除它。

  • 问题内容: 我有一个名为的文件和一个名为的字符串,我知道该字符串是该文件的完整行,但是我不知道其行号,并且我想从文件中删除它,该怎么办? 可以使用awk吗? 问题答案:

  • 我想从名为"fajlovi"的文件夹中删除文件。多个和单个删除应该工作。但是它会删除文件夹中的第一个文件(文件夹中文件数组中的0位置)。如果我检查任何文件,它将删除前4个文件,而不是我检查的文件。下面是代码: 1.这是页面的截图: 2.然后我检查要删除的图像: 4.再次进入页面后,我们可以看到错误的图像被删除:

  • 问题内容: 如果文件位于另一个目录中,如何使用PHP从服务器中删除文件? 这是我的页面布局: (此文件将删除我对数据库的所有条目,并且还应删除相关文件) (文件所在的位置。) 我正在使用的功能: 但这总是给我一个错误,该文件不存在。有任何想法吗? 问题答案: 以下应该有帮助 —返回规范化的绝对​​路径名 —告诉文件名是否可写 —删除文件 通过realpath运行文件路径,然后检查返回的路径是否可写