如何将echo()的结果捕获到PHP中的变量中?

Luk*_*nis 5 php capture echo

我正在使用一个回显结果而不是返回结果的PHP库.有没有一种简单的方法来捕获echo/print的输出并将其存储在变量中?(已输出其他文本,并且未使用输出缓冲.)

Vin*_*ard 12

可以使用输出缓冲:

ob_start();

function test ($var) {
    echo $var;
}

test("hello");
$content = ob_get_clean();

var_dump($content); // string(5) "hello"
Run Code Online (Sandbox Code Playgroud)

但它不是一个干净,有趣的语法.找到一个更好的图书馆可能是一个好主意......

  • `ob_get_contents()` 将捕获回显的任何内容,但不会阻止其稍后发送到浏览器。该字符串将被捕获并回显。如果你想捕获_而不是_回显,你应该使用`ob_get_clean()` (2认同)

Ces*_*sar 5

我知道的唯一方法。

ob_start();
echo "Some String";
$var = ob_get_clean();
Run Code Online (Sandbox Code Playgroud)