включить разрыв строки в значение - PullRequest
0 голосов
/ 16 июня 2019

У меня есть шаблон слова, в котором есть значения, определенные в коде php: В коде php:

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

В слове шаблона:

${Value1}

Как включить значение, включающее в себя строку разрыва между двумя значениями, для включения в значение слова?

Ответы [ 3 ]

1 голос
/ 16 июня 2019

Вы не можете.

Это потому, что вы не производите HTML, как думают люди, предлагающие nl2br() (и тому подобное), и не производите текст ASCII, где \n может помочь вам.

Вы пишете шаблон PHPWord .

Таким образом, ваша "новая строка" на самом деле добавляет абзац , что намного сложнее, чем простовставка тега <br>.

В документации четко указано , что то, что вам нужно, невозможно:

Вы можете создать шаблон документа OOXML с включенным поиском-шаблоны (макросы), которые можно заменить любым значением, которое вы пожелаете. Можно заменить только однострочные значения .

Так что вы делаете?

Возможно, вы можете изменить шаблон так, чтобы он имел два значения, разделенныхразрыв строки (так что на самом деле у вас есть одно значение в одном абзаце и одно значение в другом).Затем установите два значения независимо.Оставьте один пустой, если вы не хотите, чтобы он отображался (он все равно будет пустым абзацем).

Или вы можете использовать повторяемый блок и снова добавить два значения в оба субблока.Или подготовьте два субблока, а затем удалите один, если он не нужен.Посмотрите на это пример 23 .

В общем, шаблоны PHPWord предназначены только для очень простых документов (т. Е. Групп документов, которые незначительно отличаются друг от друга:например массовая рассылка, где меняется только имя и адрес).Для более сложных операций вам необходимо использовать полные API-интерфейсы PHPWord, и в этом случае выполнить два addText() вызова или только один, в зависимости от того, есть ли новая строка.

0 голосов
/ 16 июня 2019

Ответ выше меня неправильный

Вы можете использовать HTML-теги в значении php, чтобы вы могли поставить <br> для разрыва строки

<?php

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

?>

, который будет выводить:

hello
whats up
0 голосов
/ 16 июня 2019

В строке разрыв строки представлен символом "/ n", но я не уверен, что это то, что вы ищете.

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