我正在使用Twig来呈现客户生成的模板。如果客户错过了一个结束括号:
目前,twig抛出一个\ Twig_Error并返回一条消息:
Unexpected "}" in "custom-template-render5b91be77b99485.95837275" at line 2.
是否有可能让Twig呈现尽可能多的变量(可能是模板中的起始变量),然后在获得流氓括号之后放弃?
$parameters = [
'mine' => 'sentence',
'variable' => 'broken',
'another' => 'broken',
];
$templateString = "Here is my {{ mine }} with a broken {{ variable } and {{ another }}";
echo $twigEngine->render($templateString, $parameters);
以上显示缺少关闭第二个括号。如果输出是:
"Here is my sentence with a broken {{ variable } and {{ another }}"
任何想法,将不胜感激。
保存前验证用户输入
$error = null;
try {
$twigEngine->render($templateString, $parameters);
}catch(\Exception $e) {
$error = $e->getMessage();
}
if ($error) {
//display error
}else{
//save customer template
}