note 74064 added to function.hexdec
| From: | HalitYesilmailathalityesildotcom at osu1 dot php dot net | Date: | Thu, 22 Mar 2007 13:46:58 +0000 |
| Subject: | note 74064 added to function.hexdec | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-124709@lists.php.net to get a copy of this message | ||
RGB to Hex
Hex to RGB
Function
<?PHP
function rgb2hex2rgb($c){
if(!$c) return false;
$c = trim($c);
$out = false;
if(eregi("^[0-9ABCDEFabcdef\#]+$", $c)){
$c = str_replace('#','', $c);
$l = strlen($c);
if($l == 3){
unset($out);
$out[0] = $out['r'] = $out['red'] = hexdec(substr($c, 0,1));
$out[1] = $out['g'] = $out['green'] = hexdec(substr($c, 1,1));
$out[2] = $out['b'] = $out['blue'] = hexdec(substr($c, 2,1));
}elseif($l == 6){
unset($out);
$out[0] = $out['r'] = $out['red'] = hexdec(substr($c, 0,2));
$out[1] = $out['g'] = $out['green'] = hexdec(substr($c, 2,2));
$out[2] = $out['b'] = $out['blue'] = hexdec(substr($c, 4,2));
}else $out = false;
}elseif (eregi("^[0-9]+(,| |.)+[0-9]+(,| |.)+[0-9]+$", $c)){
if(eregi(",", $c))
$e = explode(",",$c);
else if(eregi(" ", $c))
$e = explode(" ",$c);
else if(eregi(".", $c))
$e = explode(".",$c);
else return false;
if(count($e) != 3) return false;
$out = '#';
for($i = 0; $i<3; $i++)
$e[$i] = dechex(($e[$i] <= 0)?0:(($e[$i] >= 255)?255:$e[$i]));
for($i = 0; $i<3; $i++)
$out .= ((strlen($e[$i]) < 2)?'0':'').$e[$i];
$out = strtoupper($out);
}else $out = false;
return $out;
}
echo '#FFFFFF => '.rgb2hex2rgb('#FFFFFF').'<br>';
echo '#FFCCEE => '.rgb2hex2rgb('#FFCCEE').'<br>';
echo 'CC22FF => '.rgb2hex2rgb('CC22FF').'<br>';
echo '0 65 255 => '.rgb2hex2rgb('0 65 255').'<br>';
echo '255.150.3 => '.rgb2hex2rgb('255.150.3').'<br>';
echo '100,100,250 => '.rgb2hex2rgb('100,100,250').'<br>';
?>
Output
#FFFFFF =>
Array{
red=>255,
green=>255,
blue=>255,
r=>255,
g=>255,
b=>255,
0=>255,
1=>255,
2=>255
}
#FFCCEE =>
Array{
red=>255,
green=>204,
blue=>238,
r=>255,
g=>204,
b=>238,
0=>255,
1=>204,
2=>238
}
CC22FF =>
Array{
red=>204,
green=>34,
blue=>255,
r=>204,
g=>34,
b=>255,
0=>204,
1=>34,
2=>255
}
0 65 255 => #0041FF
255.150.3 => #FF9603
100,100,250 => #6464FA
----
Server IP: 195.222.164.18
Probable Submitter: 144.122.180.150
----
Manual Page -- http://www.php.net/manual/en/function.hexdec.php
Edit -- https://master.php.net/note/edit/74064
Del: integrated -- https://master.php.net/note/delete/74064/integrated
Del: useless -- https://master.php.net/note/delete/74064/useless
Del: bad code -- https://master.php.net/note/delete/74064/bad+code
Del: spam -- https://master.php.net/note/delete/74064/spam
Del: non-english -- https://master.php.net/note/delete/74064/non-english
Del: in docs -- https://master.php.net/note/delete/74064/in+docs
Del: other reasons-- https://master.php.net/note/delete/74064
Reject -- https://master.php.net/note/reject/74064
Search -- https://master.php.net/manage/user-notes.php