Подтвердить что ты не робот

Получить результаты включения в строку в PHP?

Скажем, файл test.php выглядит так:

<?php
echo 'Hello world.';
?>

Я хочу сделать что-то вроде этого:

$test = include('test.php');

echo $test;

// Hello world.

Может ли кто-нибудь указать мне правильный путь?

Edit:

Моя первоначальная цель состояла в том, чтобы вытащить PHP-код, смешанный с HTML, из базы данных и обработать его. Вот что я сделал:

// Go through all of the code, execute it, and incorporate the results into the content
while(preg_match('/<\?php(.*?)\?>/ims', $content->content, $phpCodeMatches) != 0) {
    // Start an output buffer and capture the results of the PHP code
    ob_start();
    eval($phpCodeMatches[1]);
    $output = ob_get_clean();

    // Incorporate the results into the content
    $content->content = str_replace($phpCodeMatches[0], $output, $content->content);
}
4b9b3361

Ответ 1

Использование буферизация вывода - лучшая ставка.


ob_start();
include 'test.php';
$output = ob_get_clean();

PS: Помните, что вы можете также вставлять выходные буферы в ваше сердце и, если необходимо,

Ответ 2

test.php

<?php

return 'Hello World';

?>

<?php

$t = include('test.php');

echo $t;

?>

Пока включенный файл имеет оператор возврата, он будет работать.

Ответ 3

Вы также можете включить включенный файл, а не распечатать его. Затем вы можете захватить его в переменную, как и в своем втором примере.

<?php
    return 'Hello world.';
?>

Ответ 4

$test = file_get_contents('test.php');
echo $test; //Outputs "Hello world.";