在PHP中的变量中存储回显的字符串

Ale*_*lex 5 php variables echo

如何获取函数回显变量的字符串?

我的功能与此类似:

    function echoer() {
        echo 'foo';
    }
Run Code Online (Sandbox Code Playgroud)

我不能改变它的来源.我想要做的是将'foo'存储在一个变量中,而不是让它转到标准输出.它是如何在PHP中完成的?

Tyl*_*ter 17

ob_start()将启动一个输出缓冲区,它将抑制所有内容.然后,在完成所有输出后,调用ob_get_contents()并将其分配给变量.最后打电话ob_end_clean()再次开始正常回声.

ob_start()

echo "This content won't be echoed immediatley";

$contents = ob_get_contents();

ob_end_clean();

echo $contents;

正如Milen所提到的,请查看输出控制功能.

这种方法非常有用,特别是对于使用Wordpress,它被设置为输出大多数内容,如注释,并且不提供返回功能.