使用$ smarty-> fetch时,它会将模板拉入变量。有没有办法对该变量进行预先解析的字符串操作?
示例:
PHP:
$variable = $smarty->fetch('template.tpl');
$variable = str_replace("{include file='../another_dir", "{include file='", $variable);
template.tpl
{include file='incl.tpl'}
理想的结果是让模板成为:
{include file='../another_dir/incl.tpl'}
答案 0 :(得分:2)
您必须先修改模板。然后你可以使用fetch。
这样的事情:
$template = file_get_contents('template.tpl');
$template = str_replace("{include file='../another_dir", "{include file='", $template);
$variable = $smarty->fetch('string:' . $template);
Smarty String Template Resources。