Reducir CSS usando preg_replace

Estoy tratando de minimizar múltiples archivos CSS usando preg_replace. En realidad, solo intento eliminar los saltos de línea o las pestañas y los comentarios del archivo. los siguientes trabajos para mí:

$regex = array('{\t|\r|\n}', '{(/\*(.*?)\*/)}');
echo preg_replace($regex, '', file_get_contents($file));

Pero me gustaría hacerlo en una sola expresión regular multilínea, como esta:

$regex = <<<EOF
{(
    \t
|
    \r
|
    \n
|
    /\*(.*?)\*/
)}x
EOF;
echo preg_replace($regex, '', file_get_contents($file));

Sin embargo, esto no hace nada en absoluto. ¿Hay alguna manera de hacer esto?

Editar: Ok, así que echaré un vistazo a los minificadores existentes, pero todavía me deja con la pregunta de cómo haría una expresión regular multilínea como esta, porque con el regex multiline modificador x debería funcionar bien incluso en PHP, ¿no deberían? ?

Respuestas a la pregunta(7)

Su respuesta a la pregunta