ob_start

(PHP 4 >= 4.0.0)

ob_start -- Zapnout bufferovßnφ v²stupu

Popis

void ob_start ( [string output_callback])

Tato funkce zapφnß bufferovßnφ v²stupu. Pokud je bufferovßnφ v²stupu aktivovßno, ╛ßdn² v²stup ze skriptu se neode╣le, mφsto toho se uklßdß v internφm bufferu.

Obsah tohoto internφho bufferu je mo╛no zkopφrovat do prom∞nnΘ typu string pomocφ ob_get_contents(). K odeslßnφ obsahu internφho bufferu pou╛ijte ob_end_flush(). Naprotitomu ob_end_clean() ti╣e odstranφ obsah v²stupnφho bufferu.

M∙╛ete zadat voliteln² nßzev callback funkce, kterß se automaticky zavolß s obsahem bufferu jako argumentem. Tato funkce musφ p°ijφmat °et∞zec a vracet °et∞zec. Tato funkce bude volßna p°i ob_end_flush() a dostane obsah v²stupnφho bufferu jako sv∙j argument. Musφ vrßtit nov² v²stupnφ buffer, kter² se pak vytiskne.

V²stupnφ buffery se dajφ stackovat, tzn. m∙╛ete zavolat ob_start() zatφmco je aktivnφ dal╣φ ob_start(). Je pot°eba pouze sprßvn² poΦet volßnφ ob_end_flush()(). Pokud je akivnφch vφce output callback funkcφ, v²stup je filtrovßn postupn∞ p°es ka╛dou z nich tak jak jsou do sebe vno°enΘ.

P°φklad 1. Ukßzka callback funkce

<?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Σhlten sich was...</h1>
<?php ob_end_flush(); ?>
... da kam die Polizei, ja was ist denn das?
<?php ob_end_flush(); ?>

?>

Viz takΘ ob_get_contents(), ob_end_flush(), ob_end_clean(), and ob_implicit_flush()