[英]How do I capture the result of an echo() into a variable in PHP?
我正在使用一个回显结果而不是返回结果的PHP库。 有没有一种简单的方法来捕获echo / print的输出并将其存储在变量中? (已输出其他文本,并且未使用输出缓冲。)
您可以使用输出缓冲:
ob_start();
function test ($var) {
echo $var;
}
test("hello");
$content = ob_get_clean();
var_dump($content); // string(5) "hello"
但它不是一个干净,有趣的语法。 找到一个更好的图书馆可能是一个好主意......
我知道的唯一方法。
ob_start();
echo "Some String";
$var = ob_get_clean();
如果可以的话,你应该真的重写这个课程。 我怀疑找到echo / print语句并用$output .=
替换它们很难$output .=
。 使用ob_xxx确实需要资源。
例如,在您的应用程序完全完成之前,最好不要回显数据
<?php
echo 'Start';
session_start();
?>
现在session_start
和另一串函数不起作用,因为已经有数据作为响应输出,但是通过执行以下操作:
<?php
$output = 'Start';
session_start();
echo $output;
?>
这可以工作,并且它不易出错,但是如果它必须要捕获输出,那么你会这样做:
ob_start();
//Whatever you want here
$data = ob_get_contents();
//Then we clean out that buffer with:
ob_end_clean();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.