setTemplateSymbol

setTemplateSymbol

TRIAL / ADVANCED / PREMIUM

Sets the character or characters used to identify placeholder variables within a given template.

Description
public setTemplateSymbol (string $templateSymbolStart = $, [string $templateSymbolEnd = null])

By default the phpdocx template variables have to be wrapped by dollar symbols ($).

You can change that symbol by any other you wish with the help of this method.

The character or symbol used to wrap template variables may be:

  • The same at the beginning and the end (setting only $templateSymbolStart): $VAR$, |VAR|, #VAR#... A single 1 byte character.
  • Different at the beginning and the end: ${VAR}, #{VAR}, [[VAR]], «VAR»...

In order to work properly with this method, it is recommended not to use the symbol chosen for delimiting the placeholders in other contents of the document. It is preferable to have a unique symbol in the document or ${} for placeholders.

The parseMode option can be enabled in CreateDocxFromTemplate to handle template placeholders. The parse mode is slower than the default one, but it's more accurate when the template includes placeholder symbols as regular contents.

Parameters

templateSymbolStart

The character or symbol to be used for identifying placeholder variables within templates. If templateSymbolEnd is null, it uses templateSymbolStart at the beginning and the end of the variable.

templateSymbolEnd

The character or symbol to be used at the end for identifying placeholder variables within templates. If null, it uses templateSymbolStart at the beginning and the end of the variable. If it has a value, it uses templateSymbolStart at the beginning and templateSymbolEnd at the end.

phpdocx recommends using ${ } to wrap placeholders that don't use the same symbol at the beginning and the end. For further information, please read the documentation available on Defining a non unique symbol for placeholders.

Code samples

Example #1

The resulting Word document looks like:

Example #2

Release notes
  • phpdocx 14.5:
    • generate a new CreateDocxFromTemplate::$regExprVariableSymbols value automatically.
    • placeholders in text boxes with placeholder symbols using text box symbols.
  • phpdocx 11.0:
    • supported ${ } to wrap placeholders.