Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中将长十六进制代码转换为短十六进制代码_Php_Css - Fatal编程技术网

在PHP中将长十六进制代码转换为短十六进制代码

在PHP中将长十六进制代码转换为短十六进制代码,php,css,Php,Css,使用PHP将css十六进制代码转换为更短的对应代码的最佳方法是什么?只需编写一个css压缩脚本,尽管它可能对文件大小有所帮助 在本例中,您希望从一种格式RRGGBB(每个通道有8位颜色信息)转换为一种截然不同的格式RGB(每个通道只有4位颜色信息)。只有当两个十六进制数字相同时,才能执行此操作 您可以尝试以下简单明了的方法: function compress_css_colour($original) { if ( $original[1] == $original[2]

使用PHP将css十六进制代码转换为更短的对应代码的最佳方法是什么?只需编写一个css压缩脚本,尽管它可能对文件大小有所帮助


在本例中,您希望从一种格式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格式,该怎么办?

谢谢,唯一的问题是我需要单独传入十六进制代码。我需要能够解析整个css文件。解析css是一项更大、更复杂的任务。如果您想在PHP中压缩CSS,那么已经有很多这样的项目了。看一看。