如何防止PHP中的回声并捕获它内部的内容?

2022-08-30 19:27:32

我有一个函数( )来回显json。我必须抓住它,然后在发送给用户之前使用str_replace()。然而,我无法阻止它做回声。我不想更改printJsonDG,因为它正在其他几个地方使用。DoDb::printJsonDG($sql, $db, 1000, 2)


答案 1

您可以在 PHP 中使用 ob_start()ob_get_contents() 函数。

<?php

ob_start();

echo "Hello ";

$out1 = ob_get_contents();

echo "World";

$out2 = ob_get_contents();

ob_end_clean();

var_dump($out1, $out2);
?>

将输出 :

string(6) "Hello "
string(11) "Hello World"

答案 2

您可以使用输出缓冲函数来执行此操作。

ob_start();

/* do your echoing and what not */ 

$str = ob_get_contents();

/* perform what you need on $str with str_replace */ 

ob_end_clean();

/* echo it out after doing what you had to */

echo $str;

推荐