我使用此函数从代码中删除HTML注释以节省加载时间:
// Remove unwanted HTML comments
function remove_html_comments($content = \'\') {
return preg_replace(\'/<!--(.|\\s)*?-->/\', \'\', $content);
}
但我也使用wt3缓存插件witch使用它来解析其注释模式中的代码:
$buffer = preg_replace_callback(\'~<!--\\s*mfunc\\s*\' . W3TC_DYNAMIC_SECURITY . \'(.*)-->(.*)<!--\\s*/mfunc\\s*\' . W3TC_DYNAMIC_SECURITY . \'\\s*-->~Uis\', array(
&$this,
\'_parse_dynamic_mfunc\'
), $buffer);
我需要实现片段缓存以将代码的某些部分从缓存中排除,但我用于去除代码注释的函数不可能做到这一点,因为它将排除所有注释。。。
Is it possible to exclude all comments inside W3TC comment tags from being removed by the function that i\'m using?
这就是我如何实现我的主题:
在wp配置中。我添加了php
define( \'W3TC_DYNAMIC_SECURITY\', md5( rand( 0, 999999 ) ) ); // random "secret"
在我的模板中:
<!--mfunc <?php echo W3TC_DYNAMIC_SECURITY; ?> -->
<?php echo rand(0,1000); ?>
<!--/mfunc <?php echo W3TC_DYNAMIC_SECURITY; ?> -->