PHP.mk документација

ob_get_clean

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.ob-get-clean.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.ob-get-clean.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
ob_get_clean

Референца за `function.ob-get-clean.php` со подобрена типографија и навигација.

function.ob-get-clean.php

ob_get_clean

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ob_get_cleanЗеми ги содржините на активниот излезен бафер и исклучи го

= NULL

ob_get_clean(): string|false

Оваа функција го повикува ракувачот со излез (со PHP_OUTPUT_HANDLER_CLEAN and PHP_OUTPUT_HANDLER_FINAL знаменца), го отфрла неговиот вратен резултат, ги враќа содржините на активниот излезен бафер и го исклучува активниот излезен бафер.

ob_get_clean() ќе откаже без активен бафер за излез започнат со PHP_OUTPUT_HANDLER_REMOVABLE flag.

ob_get_clean() ќе ги отфрли содржините на активниот излезен бафер дури и ако бил започнат без PHP_OUTPUT_HANDLER_CLEANABLE flag.

Параметри

Оваа функција нема параметри.

Вратени вредности

Враќа содржина од активниот бафер за излез при успех или false при неуспех.

Безбедност: стандардниот сет на знаци

ob_get_clean() ќе врати false, но нема да генерира E_NOTICE ако нема активен излезен бафер.

Errors/Exceptions

Ако функцијата откаже, генерира E_NOTICE.

Примери

Пример #1 Едноставен ob_get_clean() example

<?php

ob_start
();

echo
"Hello World";

$out = ob_get_clean();
$out = strtolower($out);

var_dump($out);
?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

string(11) "hello world"

Види Исто така

  • ob_start() - Вклучи баферирање на излезот
  • ob_get_contents() - Врати ги содржините на излезниот бафер
  • ob_clean() Исчисти (избриши) ја содржината на активниот излезен бафер
  • ob_end_clean() Исчисти (избриши) ја содржината на активниот излезен бафер и исклучи го
  • ob_get_flush() - Испрати (испрати) вратена вредност од активниот ракувач со излез, врати ги содржините на активниот бафер за излез и исклучи го

Белешки од корисници 3 белешки

geo dot artemenko at gmail dot com
12 години пред
The definition should mention that the function also "turns off output buffering", not just cleans it.
steven at bielik dot com
пред 15 години
Also, don't forget that you will need to ob_start() again for any successive calls:

<?php
ob_start();
echo "1";
$content = ob_get_clean();

ob_start(); // This is NECESSARY for the next ob_get_clean() to work as intended.
echo "2";
$content .= ob_get_clean();

echo $content;
?>

Output: 12

Without the second ob_start(), the output is 21 ...
paul+phpnet at earth2me dot com
12 години пред
Keep in mind that output may be buffered by default, depending on how you are running PHP (CGI, CLI, etc.).   You can use ob_get_level() to determine if an output buffer has already been started.  On most web servers I've used, output buffering is already one level deep before my scripts start running.

You should only end as many output buffers as you start.  Assuming that your buffer is always the first buffer, or otherwise closing pre-existing buffers, could lead to problems.  In PHP 5.5, you can ensure that output buffers are ended properly using a try-finally block.

Something like this is almost guaranteed to break stuff:

<?php
// Don't ever do this!
while (ob_get_level() > 1)
{
    ob_end_flush();
}

$content = ob_get_clean();
?>

The problem is that number, "1".  Using a fixed number there is asking for trouble.  Instead, use ob_get_level() to get the number of output buffers applied when your code starts, and return to that number, if you really must use an unknown number of output buffers:

<?php
ob_start();
$saved_ob_level = ob_get_level();

// Do stuff here:
run_something();

// If you really must close all of your output buffers except one, this'll do it:
while (ob_get_level() > $start_ob_level)
{
    ob_end_flush();
}

// And now, the final output buffer that belongs to us:
$content = ob_get_clean();
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.