使用PHP将css十六进制代码转换为较短的对应代码的最佳方法是什么?只需编写一个css压缩脚本,虽然它可能对文件大小有所帮助。
由于
答案 0 :(得分:0)
在这种情况下,您希望从一种格式(#RRGGBB,每个通道有8位颜色信息)转换为截然不同的格式(#RGB,只有4位每个频道的颜色信息)。只有当两个十六进制数字相同时才能执行此操作。
您可以尝试这样简单明了的事情:
function compress_css_colour($original) {
if ( $original[1] == $original[2]
&& $original[3] == $original[4]
&& $original[5] == $original[6]) {
return "#" . $original[1] . $original[3] . $original[5];
} else return $original;
}
echo compress_css_colour("#aabbcc");
// prints "#abc"
肯定有更优雅的解决方案,虽然这个解决方案适用于一般情况。您还需要添加一些更强大的功能 - 如果原始CSS颜色格式错误,或者它是否采用#RRGGBBAA形式,该怎么办?