0

下面是我如何从缓冲区中删除多个空格的代码:

function removeWhitespace($buffer)
{
   return preg_replace('/\s+/', ' ', $buffer);
}

ob_start('removeWhitespace');

//html source code

ob_get_flush();

使用此代码,我的 html 源代码将变为一行(压缩),但它会破坏 javascript 代码:

<script type="text/javascript"><!--
$(document).ready(function() {
    $('.colorbox').colorbox({
        overlayClose: true,
        opacity: 0.5,
        rel: "colorbox"
    });
});
//--></script> 

<script type="text/javascript"><!-- $(document).ready(function() { $('.colorbox').colorbox({ overlayClose: true, opacity: 0.5, rel: "colorbox" }); }); //--></script>

那么javascript将不再工作,那么如果检测到这个,如何忽略<!--或者如果检测到javascript就跳过?

4

1 回答 1

2

使用负面回顾:

preg_replace('/(?!<!--)\s+/', ' ', $buffer);
于 2013-08-21T13:45:37.363 回答