0

对于小型模板引擎,我正在尝试使用 preg_replace 替换

{INCLUDE:dir/file.inc.php}

使用适当的 PHP 等效项。

我尝试使用以下内容,但包含路径中的 / 会导致“除以零”错误:

$template = preg_replace('~\{INCLUDE:(.*?)}~', '<?php echo $1; ?>', $template);

(preg_replace 中的 echo 用于调试目的,最终将包含)

当我从包含路径中删除 / 时(所以它只是 file.inc.php),它仍然会删除所有点。

任何帮助将不胜感激!

4

1 回答 1

0

如果我理解正确,我认为这应该可以正常工作

$template = preg_replace('~{INCLUDE:(.*?)}~', '<?php include \'$1\'; ?>', $template);

您的问题是由未引用的 $1 引起的。

于 2012-08-25T12:42:02.897 回答