Проблема требовала лучшего понимания функций, их взаимосвязи и глубины. Я заменил ob_get_clean()
на ob_get_contents()
, а затем (я считаю) закрыл первую буферизацию вывода через ob_end_clean()
.
Затем с закрытой буферизацией вывода я снова открыл его, на этот раз с включенным сжатием, и все работает Отлично!
<?php
ob_start();//Start the initial buffer, do NOT use compression here.
//Content output here.
$c = str_replace($find,$replace,ob_get_contents());//String replacement.
ob_end_clean();//Close buffering.
ob_start('ob_gzhandler');//Start a fresh buffer with compression.
echo $c;//Output the original buffer.
ob_end_flush();//Send to the client.
?>