Php 删除换行符,但保留javascript格式

Php 删除换行符,但保留javascript格式,php,preg-replace,Php,Preg Replace,下面是我如何从缓冲区中删除多个空格的代码: function removeWhitespace($buffer) { return preg_replace('/\s+/', ' ', $buffer); } ob_start('removeWhitespace'); //html source code ob_get_flush(); 使用此代码,我的html源代码将变为一行(压缩),但它将破坏javascript代码: 之前 <script type="text/java

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

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将不再工作,因此如果使用反向查找来检测此
,如何忽略:

preg_replace('/(?!<!--)\s+/', ' ', $buffer);

preg_replace('/(?!为什么需要删除空白?从javascript代码中删除空白不应破坏它,事实上,您的代码检查为有效。@Blender im使用PageSpeed,其中一个建议是“压缩HTML代码..bla…”这个扩展还显示删除空白/空格的优化代码…所以我只是尝试优化我的html源代码。@Russly这是一个微优化。。只会将调试变成一场噩梦。如果需要减小html文档大小,请使用gzip传输使用
\h
,而不是
\s