如何在preg_replace_callback中包含文件

时间:2016-05-27 21:51:54

标签: php include preg-replace-callback

让我们说example.php是

echo("123");

如何使用php执行包含的结果更改此字符串“abc {include'example.php'} def”中的正则表达式匹配包含规则。 结果应为“abc123def”

我写了这段代码并且工作但它没有在包含的文件中运行php代码。所以结果是“abcecho(”123); def“,这不是我正在寻找的。

preg_replace_callback("/\{\s*include\s*'(.*?)\'\s*}/", function($m) { return file_get_contents($m[1]);}, $str);

由于

1 个答案:

答案 0 :(得分:1)

您可以使用输出缓冲功能。然后回调函数将是:

function($m) {
   ob_start();
   include($m[1]);
   $out = ob_get_contents();
   ob_end_clean();
   return $out;
}