HTML-Kommentare mit PHP entfernen, aber Bedingungen verlassen

Ich verwende derzeit PHP und einen regulären Ausdruck, um alle HTML-Kommentare von einer Seite zu entfernen. Das Skript funktioniert gut ... ein bisschen zu gut. Alle Kommentare werden entfernt, einschließlich meiner bedingten Kommentare in der. Folgendes habe ich:

<code><?php
  function callback($buffer)
  {
        return preg_replace('/<!--(.|\s)*?-->/', '', $buffer);
  }

  ob_start("callback");
?>
... HTML source goes here ...
<?php ob_end_flush(); ?>
</code>

Da mein regulärer Ausdruck nicht zu heiß ist, kann ich nicht herausfinden, wie das Muster geändert werden kann, um bedingte Kommentare auszuschließen, z.

<code><!--[if !IE]><!-->
<link rel="stylesheet" href="/css/screen.css" type="text/css" media="screen" />
<!-- <![endif]-->

<!--[if IE 7]>
<link rel="stylesheet" href="/css/ie7.css" type="text/css" media="screen" />
<![endif]-->

<!--[if IE 6]>
<link rel="stylesheet" href="/css/ie6.css" type="text/css" media="screen" />
<![endif]-->
</code>

Prost

Antworten auf die Frage(4)

Ihre Antwort auf die Frage