对于小型模板引擎,我正在尝试使用preg_replace替换
{INCLUDE:dir/file.inc.php}
使用适当的PHP等价物。
我尝试过使用以下内容,但是包含路径中的/会导致“除以零”错误:
$template = preg_replace('~\{INCLUDE:(.*?)}~', '<?php echo $1; ?>', $template);
(preg_replace中的echo用于调试目的,最终将包含在内)
当我从包含路径中删除/时(所以它只是file.inc.php),它仍会删除所有点。
非常感谢任何帮助!
答案 0 :(得分:0)
如果我理解正确,我认为这应该可行
$template = preg_replace('~{INCLUDE:(.*?)}~', '<?php include \'$1\'; ?>', $template);
您的问题是由不加引号的$ 1引起的。