You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Copyright © 2024 ExacTI Technology Solutions. All rights reserved.
|
|
|
|
* GPLv3 General License.
|
|
|
|
* https://exacti.com.br
|
|
|
|
* Phacil PHP Framework - https://github.com/exacti/phacil-framework
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace Phacil\Framework\ECompress;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @api
|
|
|
|
* @since 1.0.0
|
|
|
|
* @package Phacil\Framework\ECompress
|
|
|
|
*/
|
|
|
|
class cssMin {
|
|
|
|
/**
|
|
|
|
* @param string $css
|
|
|
|
* @return string|null
|
|
|
|
*/
|
|
|
|
public function minify($css)
|
|
|
|
{
|
|
|
|
$css = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $css);
|
|
|
|
$css = preg_replace('/\/\*((?!\*\/).)*\*\//', '', $css); // negative look ahead
|
|
|
|
$css = preg_replace('/\s{2,}/', ' ', $css);
|
|
|
|
$css = preg_replace('/\s*([:;{}])\s*/', '$1', $css);
|
|
|
|
$css = preg_replace('/;}/', '}', $css);
|
|
|
|
|
|
|
|
return $css;
|
|
|
|
}
|
|
|
|
}
|