在值中包含换行符

时间:2019-06-16 15:18:23

标签: php phpword

我有一个单词模板,其中的php代码中定义了一些值: 在php代码中:

$document->setValue('Value1', $value1);

在Word模板中:

${Value1}

如何在单词的值中包含一个包含两个值之间的折线的值?

4 个答案:

答案 0 :(得分:1)

你不能。

这是因为您既没有像人们所建议的那样nl2br()产生HTML,也没有产生ASCII文本,\n可能会为您提供帮助。

您正在编写 PHPWord模板

因此,您的“换行符”实际上是添加段落,这比简单地插入<br>标记要复杂得多。

无法获得所需的文档states clearly

  

您可以创建带有包含的搜索模式(宏)的OOXML文档模板,可以将其替换为所需的任何值。 仅单行值可以替换

那你怎么办?

您也许可以更改模板,使其具有两个由换行符分隔的值(因此,实际上,一个段落中有一个值,另一段落中有一个值)。然后,分别设置两个值。如果您不想显示一个,请将其保留为空(它仍将是一个空的段落)。

或者您可以使用可重复块,然​​后在两个子块中再次添加两个值。或者准备两个子块,然后在不需要时将其删除。为此sample 23

通常,PHPWord模板仅适用于非常简单的文档(即,文档组彼此之间仅略有不同:例如,大量邮件,其中名称和地址仅发生变化)。对于更复杂的操作,您需要使用完整的PHPWord API,在这种情况下,根据是否存在换行符,发出两个addText()调用,或者仅发出一个。

答案 1 :(得分:0)

\n替换</w:t><w:br/><w:t>

$value1 = str_replace("\n", '</w:t><w:br/><w:t>', $value1);
$document->setValue('Value1', $value1);

取自https://github.com/PHPOffice/PHPWord/issues/838

答案 2 :(得分:-1)

在字符串中,换行符用“ / n”表示,但是我不确定这是否是您要搜索的内容。

blabla = "hello /n whats up"
print(blabla)
//output : hello
//whats up

答案 3 :(得分:-1)

我上面的答案不正确

您可以在php值中使用HTML标记,以便可以将Error in data.frame(row.names = c(1:length(colnames(dat))), ColumnNames = names(dat), : arguments imply differing number of rows: 68, 6``` 放在换行符

<br>

将输出:

<?php

$comment = "hello <br> whats up";
echo $comment;

?>