Is it possible to use something like
string\replace('Hello {test}', '{test}', 'world')
inside of a pdf template?
string\replace('Hello {test}', '{test}', 'world')
inside of a pdf template?
{
"replace": "Espo\\Custom\\Classes\\TemplateHelpers\\ReplaceHelper"
}
<?php
namespace Espo\Custom\Classes\TemplateHelpers;
use Espo\Core\Htmlizer\Helper;
use Espo\Core\Htmlizer\Helper\Data;
use Espo\Core\Htmlizer\Helper\Result;
class ReplaceHelper implements Helper
{
public function render(Data $data): Result
{
$args = $data->getArgumentList();
if (empty($args)) {
return Result::create('');
}
$text = $args[0] ?? null;
if ($text === '' || !is_string($text)) {
return Result::createEmpty();
}
$search = (string) $data->getOption('search');
$replace = (string) $data->getOption('replace');
$caseInsensitive = (bool) $data->getOption('insensitive');
if ($caseInsensitive) {
$output = str_ireplace($search, $replace, $text);
} else {
$output = str_replace($search, $replace, $text);
}
return Result::create($output);
}
}
{{replace 'Hello WORLD' search='WORLD' replace='EspoCRM'}}
{{replace 'Hello world' search='WORLD' replace='Mate' insensitive=true}}
{{replace name search='Inc.' replace='Ltd.'}}

Comment