3
* cssmin.php - A simple CSS minifier.
7
* include("cssmin.php");
8
* file_put_contents("path/to/target.css", cssmin::minify(file_get_contents("path/to/source.css")));
12
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
13
* BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
14
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
15
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
* @author Joe Scylla <joe.scylla@gmail.com>
21
* @copyright 2008 Joe Scylla <joe.scylla@gmail.com>
22
* @license http://opensource.org/licenses/mit-license.php MIT License
23
* @version 1.0 (2008-01-31)
28
* Minifies stylesheet definitions
30
* @param string $v Stylesheet definitions as string
31
* @return string Minified stylesheet definitions
33
public static function minify($v)
36
$v = str_replace("\r\n", "\n", $v);
37
$search = array("/\/\*[\d\D]*?\*\/|\t+/", "/\s+/", "/\}\s+/");
38
$replace = array(null, " ", "}\n");
39
$v = preg_replace($search, $replace, $v);
40
$search = array("/\\;\s/", "/\s+\{\\s+/", "/\\:\s+\\#/", "/,\s+/i", "/\\:\s+\\\'/i", "/\\:\s+([0-9]+|[A-F]+)/i");
41
$replace = array(";", "{", ":#", ",", ":\'", ":$1");
42
$v = preg_replace($search, $replace, $v);
43
$v = str_replace("\n", null, $v);
b'\\ No newline at end of file'