summaryrefslogtreecommitdiff
path: root/lib/exe/css.php
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2005-11-12 12:38:22 +0100
committerAndreas Gohr <andi@splitbrain.org>2005-11-12 12:38:22 +0100
commitc00aef76210cc7e657a9e8a02cdacdf305c76af3 (patch)
treecc292e48c508213d6f38d0f3409fc12db9a12544 /lib/exe/css.php
parent9d2ddea4dd0070b4ea2963387d5cd361de0afc97 (diff)
downloadrpg-c00aef76210cc7e657a9e8a02cdacdf305c76af3.tar.gz
rpg-c00aef76210cc7e657a9e8a02cdacdf305c76af3.tar.bz2
fix for comment stripping in CSS compression
darcs-hash:20051112113822-7ad00-507d694e91f85274266df71b7912690c65bc2b5e.gz
Diffstat (limited to 'lib/exe/css.php')
-rw-r--r--lib/exe/css.php16
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/exe/css.php b/lib/exe/css.php
index 221e25801..74efe71b6 100644
--- a/lib/exe/css.php
+++ b/lib/exe/css.php
@@ -238,9 +238,8 @@ function css_compress($css){
$css = preg_replace('![\r\n\t ]+!',' ',$css);
$css = preg_replace('/ ?([:;,{}\/]) ?/','\\1',$css);
- // strip comments (ungreedy)
- // We keep very small comments to maintain typical browser hacks
- $css = preg_replace('#(/\*)((?!\*/).){4,}(\*/)#Us','',$css);
+ //strip comments through a callback
+ $css = preg_replace_callback('#(/\*)(.*?)(\*/)#s','css_comment_cb',$css);
// shorten colors
$css = preg_replace("/#([0-9a-fA-F]{1})\\1([0-9a-fA-F]{1})\\2([0-9a-fA-F]{1})\\3/", "#\\1\\2\\3",$css);
@@ -248,6 +247,17 @@ function css_compress($css){
return $css;
}
+/**
+ * Callback for css_compress()
+ *
+ * Keeps short comments (< 5 chars) to maintain typical browser hacks
+ *
+ * @author Andreas Gohr <andi@splitbrain.org>
+ */
+function css_comment_cb($matches){
+ if(strlen($matches[2]) > 4) return '';
+ return $matches[0];
+}
//Setup VIM: ex: et ts=4 enc=utf-8 :
?>