WireTextTools::populatePlaceholders()
Given a string ($str) and values ($vars), populate placeholder “{tags}” in the string with the values
- The
$varsshould be an associative array of[ 'tag' => 'value' ]. - The
$varsmay also be an object, in which case values will be pulled as properties of the object.
By default, tags are specified in the format: {first_name} where first_name is the name of the
variable to pull from $vars, { is the opening tag character, and } is the closing tag char.
The tag parser can also handle subfields and OR tags, if $vars is an object that supports that.
For instance {products.title} is a subfield, and {first_name|title|name} is an OR tag.
Available since version 3.0.126. Use wirePopulateStringTags() function for older versions
Example
$vars = [ 'foo' => 'FOO!', 'bar' => 'BAR!' ];
$str = 'This is a test: {foo}, and this is another test: {bar}';
echo $sanitizer->getTextTools()->populatePlaceholders($str, $vars);
// outputs: This is a test: FOO!, and this is another test: BAR!Usage
// basic usage
$string = $wireTextTools->populatePlaceholders(string $str, $vars);
// usage with all arguments
$string = $wireTextTools->populatePlaceholders(string $str, $vars, array $options = []);Arguments
| Name | Type(s) | Description |
|---|---|---|
$str | string | The string to operate on (where the {tags} might be found) |
$vars | WireData object array | Object or associative array to pull replacement values from. |
$options (optional) | array | Array of optional changes to default behavior, including:
|
Return value
stringString with tags populated.
WireTextTools methods and properties
API reference based on ProcessWire core version 3.0.252