Autor | Zpráva | ||
---|---|---|---|
PetrPetr Profil * |
#1 · Zasláno: 24. 9. 2013, 17:48:21
Mám formulář, kde lidé vkládají barvu fontu a potřeboval bych PHP script, který po odeslání zkontroluje, zda-li vyplnil dobře, tj. zda-li jde o barvu, aby tam nevyplňoval jiné texty.
$barva = "#000000"; Dále mě zajimá, jak pak takovou barvu převést do RGB barev. |
||
juriad Profil |
#2 · Zasláno: 24. 9. 2013, 18:05:58 · Upravil/a: juriad
function to_rgb($barva) { if(!preg_match('/#[0-9a-f]{3}([0-9a-f]{3})?/i', $barva)) { return FALSE; } if(strlen($barva) == 4) { $r = substr($barva, 1, 1); $r .= $r; $g = substr($barva, 2, 1); $g .= $g; $b = substr($barva, 3, 1); $b .= $b; } else { $r = substr($barva, 1, 2); $g = substr($barva, 3, 2); $b = substr($barva, 5, 2); } return array(hexdec($r), hexdec($g), hexdec($b)); } var_dump(to_rgb('#ahoj')); var_dump(to_rgb('')); var_dump(to_rgb('abc')); var_dump(to_rgb('#000')); var_dump(to_rgb('#000000')); var_dump(to_rgb('#abc')); var_dump(to_rgb('#ABC')); var_dump(to_rgb('#aabbcc')); Jiné řešení je zmíněné vkomentářích hexdec funkce v dokumentaci. http://www.php.net/manual/en/function.hexdec.php#99478 |
||
peta Profil |
#3 · Zasláno: 25. 9. 2013, 08:10:57
juriad To resi pripady #FFF a #FFFFFF, ale mnohem lepsi je, kdyz si tu barvu ze stringu dokazes vytahnout bez ohledu, kolik parazitnich znaku tam navic bude.
|
||
Časová prodleva: 11 let
|
0