下面是使用输出缓冲和preg_replace
. 在WordPress开始输出HTML以启动缓冲区之前,我们先进行连接。然后,我们在WordPress停止输出HTML后进行连接,以获取缓冲区并从内容中删除HTML注释标记。
理想情况下,此代码应该位于它自己的插件中。但它可能在你的功能中。如果您真的反对添加更多插件,请使用php。
namespace StackExchange\\WordPress;
//* Start output buffering
function startOutputBuffer() {
ob_start();
}
//* Print the output buffer
function stopOutputBuffer() {
$html = ob_get_clean();
echo strip_html_comments( $html );
}
//* See note for attribution of this code
function strip_html_comments( string $html ) : string {
return preg_replace(\'/<!--(.*)-->/Uis\', \'\', $html);
}
//* Add action before WordPress starts outputting content to start buffer
add_action( \'wp\', __NAMESPACE__ . \'\\startOutputBuffer\' );
//* Add action after WordPress stops outputting content to stop buffer
add_action( \'shutdown\', __NAMESPACE__ . \'\\stopOutputBuffer\' );
注意:此StackOverflow中的Regex答案为
Benoit Villière.