<?php /** * */ function color_inverse($color){ $color = substr($color, 1); //отрезаем # от цвета if (strlen($color) != 6){ return '000000'; } //проверка на длинну $rgb = ''; for ($x=0; $x<3; $x++){ $c = 255 - hexdec(substr($color, (2*$x), 2)); $c = ($c < 0) ? 0 : dechex($c); $rgb .= (strlen($c) < 2) ? '0'.$c : $c; } return '#'.$rgb; } //возьмем для примера желтый $color = '#FFFF00'; echo "<div style='height:10%; background-color:$color'></div>"; //посмотрим что получится если его инвертировать echo "<div style='height:10%; background-color:".color_inverse($color)."'></div>"; //на флаг Украины смахивает :))