How to duplicate variables into template with phpW

2019-07-19 23:29发布

问题:

Using phpWord in my application, I try to clone a block in the template like this :

${CLONEME} <br>
     You may also notice that there’s one text break (empty paragraph) before this one that can be created also by PHPWord ${item}" <br>
${/CLONEME}

Doing this in my php code : $document->cloneBlock('CLONEME', 2}

I obtain :

" You may also notice that there’s one text break (empty paragraph) before this one that can be created also by PHPWord ${item}
You may also notice that there’s one text break (empty paragraph) before this one that can be created also by PHPWord ${item} "

but ${item} don't duplicate.

I want to have :

" You may also notice that there’s one text break (empty paragraph) before this one that can be created also by PHPWord ${item#1} You may also notice that there’s one text break (empty paragraph) before this one that can be created also by PHPWord ${item#2} "

How can I do this ? Thanks

回答1:

I see 2 possibilities:

  1. extend the cloneBlock method to do what you want (or write your own) - and have a look at the cloneRow method to see how they're doing the {item}->{item#1} replacement
  2. just live with multiple {item}-tags after cloneBlock and do several calls to setValue($search, $replace, 1), limiting the replacements to one at a time

Hope that helps...



标签: php phpword