«Компилирование» контента с короткими тегами в var, без eval () - PullRequest
1 голос
/ 03 мая 2010

Для начала позвольте мне прояснить ситуацию, сказав, что осведомлены о недостатках / преимуществах использования синтаксиса коротких тегов в PHP. Это не то, о чем этот вопрос.

Есть ли способ "включить" файл, содержащий код короткого тега, в переменную и заставить PHP фактически анализировать код?

include / require, очевидно, не предоставляют данные в работоспособной форме, и буферизация вывода не анализирует код короткого тега, потому что это происходит во время выполнения.

Использование eval() просто не вариант.

Предложения

1 Ответ

2 голосов
/ 03 мая 2010
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 не включен на вашей платформе, и, возможно, вам просто нужно временно включить его в своем коде.

...