ob_start

(PHP 4 )

ob_start -- 出力のバッファリングを有効にする

説明

void ob_start ([string output_callback])

この関数は出力のバッファリングをオンにします。出力のバッファリン グがアクティブの場合、スクリプトからの出力は実際には行われず、代 わりに内部バッファに追加されます。

この内部バッファの内容は、ob_get_contents() を 用いて文字列変数にコピーされます。実際の出力は、 ob_end_flush() がコールされた際に行われます。 ob_end_clean() は、バッファの内容を出力せずに 消去します。

オプションの引数 output_callback 関数を指定することが可能です。こ の関数は、パラメータとして文字列をとり、文字列を返します。このコー ルバック関数は、ob_end_flush() 実行時にコール され、出力バッファの内容をパラメータとして受取ります。このコール バック関数は、新規の出力バッファを実際に出力される結果として返す 必要があります。

出力バッファはスタッカブルであり、このため、他の ob_start() がアクティブの間に ob_start() をコールすることが可能です。この場 合、ob_end_flush()() を適当な回数コールするよ うにして下さい。複数の出力コールバック関数がアクティブの場合、出 力はネストした順番で逐次連続的にフィルタ処理されます。

例 1. コールバック関数の例


<?php
function c($str) {
  // Druu Chunusun mut dum Kuntrubu゚...
  return nl2br(ereg_replace("[aeiou]", "u", $str));
}

function d($str) {
  return strip_tags($str);
}
?>

<?php ob_start("c"); ?>
Drei Chinesen mit dem Kontraba゚...
<?php ob_start("d"); ?>
<h1>..sa゚en auf der Stra゚e und erz臧lten sich was...</h1>
<?php ob_end_flush(); ?>
... da kam die Polizei, ja was ist denn das?
<?php ob_end_flush(); ?>

?>
     

ob_get_contents(), ob_end_flush(), ob_end_clean(), ob_implicit_flush()も参照下さい。