次のように、コンテンツを表示する前に、コンテンツに対してカスタムの電子メール難読化クラスのObfuscate()
関数を実行するスクリプトがあります。
ob_start(array($obfuscator, "Obfuscate"));
include('header.php');
print($html);
include('footer.php');
ob_end_flush();
それはすべてうまくいきます。ただし、ビューアーキテクチャを完全に書き直したので、クラス関数内から電子メールの難読化を実行し、その文字列を返す必要があります(その後echo
edになります)。私は最初に上記を次のように書き直しました:
ob_start(array($this->obfuscator, "Obfuscate"));
include('header.php');
echo($this->content);
include('footer.php');
$wrappedContent = ob_get_contents();
ob_end_clean();
残念ながら、$this->obfuscator->Obfuscate()
コールバックは発生していません。それ以来ob_get_contents()
、コールバックを起動しないことを学びましたが、同様に無駄にしようob_get_clean()
としました。ob_get_flush()
では、コールバックが発生した後、どうすればバッファの内容を取得できますか?