検索と置換に基づく単純なテンプレート システムを使用して解決できます。以下に非常に基本的なものを短い例とともに含めました。それがあなたを助けることを願っています:)
class EmailTemplate
{
private $body;
public function __construct($template)
{
$this->body = $template;
}
public function render($context)
{
return preg_replace_callback('/%{(.*?)}%/', function($v) use ($context) {
return isset($context[$v[1]]) ? $context[$v[1]] : '';
}, $this->body);
}
}
$tpl = new EmailTemplate(<<<EOM
Hello %{user}%,
How are you doing. This is your link:
%{link}%
See ya!
EOM
);
echo $tpl->render(array(
'user' => 'world',
'link' => 'http://www.php.net/',
));