在 PHP 中使用 ob_start 方法缓冲输出数据

Kevin Amayi 2023年1月30日 2022年5月13日
  1. 使用 ob_start 方法缓冲简单字符串,然后使用 PHP 中的 ob_get_contents 方法获取数据
  2. 在 PHP 中使用 ob_start 方法缓冲 HTML 数据并使用 ob_get_contents 方法获取数据
  3. 使用带有回调函数的 ob_start 方法缓冲字符串数据并替换字符串中的字符
在 PHP 中使用 ob_start 方法缓冲输出数据

我们将使用 ob_start 方法初始化一个缓冲区,然后输出一个简单的字符串,该字符串将被自动缓冲;然后,我们将使用 ob_get_contents 方法从缓冲区中获取数据,然后将其打印出来。

我们还将初始化一个缓冲区 ob_start 方法,然后输出一个 HTML 块,该块将自动缓冲;然后,我们将使用 ob_get_contents 方法从缓冲区中获取数据,然后将其打印出来。

最后,我们将初始化一个缓冲区 ob_start 方法,声明一个将自动缓冲的简单字符串,然后使用传递给 ob_start 方法的回调替换字符串中的数据。

使用 ob_start 方法缓冲简单字符串,然后使用 PHP 中的 ob_get_contents 方法获取数据

我们将设置 ob_start,然后输出一个自动缓冲的简单字符串;然后我们将使用 ob_get_contents 从缓冲区中获取数据并打印它。

<?php
ob_start();
echo("Hello there!"); //would normally get printed to the screen/output to browser
$output = ob_get_contents();
echo $output;
?>

输出:

Hello there! Hello there! 

在 PHP 中使用 ob_start 方法缓冲 HTML 数据并使用 ob_get_contents 方法获取数据

我们将设置 ob_start,然后自动缓冲输出 HTML 数据;然后我们将打印缓冲的数据。

<?php
ob_start();
?>
<div>
    <span>text</span>
    <a href="#">link</a>
</div>
<?php
$content = ob_get_contents();
?>

输出:

<div>
 <span>text</span>
 <a href="#">link</a>
</div>

使用带有回调函数的 ob_start 方法缓冲字符串数据并替换字符串中的字符

我们将设置 ob_start,然后自动缓冲输出 HTML 数据;然后我们将打印缓冲的数据。

<?php
    //Declare a string variable
    $str = "I like PHP programming. ";
    echo "The original string: $str";

    //Define the callback function
    function callback($buffer)
    {
    //Replace the word 'PHP' with 'Python'
    return (str_replace("PHP", "Python", $buffer));
    }

    echo "The replaced string: ";
    //call the ob_start() function with callback function
    ob_start("callback");

    echo $str;
?>

输出:

The original string: I like PHP programming. The replaced string: I like Python programming. 

相关文章 - PHP Array