使用短标签“编译”内容到var,没有eval()

时间:2010-05-03 15:20:12

标签: php eval php-shorttags

首先,让我通过说明 了解在PHP中使用短标记语法的不利/优势来清除空气。这不是这个问题的关键。

有没有办法将包含短标记代码的文件“包含”到变量中,让PHP实际解析代码?

include / require显然不以可行的形式提供数据,输出缓冲不会解析短标记代码,因为它在运行时发生。

使用eval()根本不是一种选择。

建议?

1 个答案:

答案 0 :(得分:2)

ob_start();
$ini_sot = ini_get('short_open_tag');
ini_set('short_open_tag', 1);
include('file_with_short_tags.php');
ini_set('short_open_tag', $ini_sot);
$variable = ob_get_contents();
ob_end_clean();

我不确定你在关于输出缓冲不适合的问题中的意思,但无论如何我都使用过它。我假设你的问题是你的平台上没有启用short_open_tags,也许你只需要在你的代码中暂时启用它。