2014-01-29 2 views
0

Я хочу преобразовать свой гексаговый цвет из цветового ввода (пример: #FFFFFF) в формат шестнадцатеричного числа PHP (пример: 0xFFFFFF).PHP: преобразовать шестнадцатеричный цвет с цветового ввода в шестнадцатеричный номер PHP

Я попытался заменить # на 0x с помощью str_replace, но это превратило его в строку, я хочу сохранить его числом.

Любое решение?

+0

Вы можете использовать функцию number() PHP для преобразования вашей строки в число. –

+0

[hexdec()] (http://www.php.net/manual/en/function.hexdec.php) & [dechex()] (http://www.php.net/manual/en/function. dechex.php) – MLeFevre

+0

@LajosArpad какой номер() !!? –

ответ

1

Возможно, эта функция является то, что вам нужно?

http://www.php.net/manual/en/function.hexdec.php

«Возвращает десятичный эквивалент шестнадцатеричного числа, представленное hex_string аргумент. HexDec() преобразует шестнадцатеричную строку в десятичное число.

HexDec() будет игнорировать любые не шестнадцатеричные символы он сталкивается ».

Некоторые добавляют информация:

DecHex() даст вам строку, содержащую шестнадцатеричное представление числа, если вам это нужно, но мне кажется, вы должны иметь дело с целым числом, если это число, которое вы нужно пройти.

+0

мой вопрос прост: я хочу преобразовать представление цвета css в hex (например # FFFFFF) к шестнадцатеричному номеру PHP (например, 0x000000). –

+0

@RafikHaceb Я добавил некоторый контекст к моему ответу. – Manny

1

Вы можете попробовать это, Найденный function here

 function hex2rgb($hex) { 
      $hex = str_replace("#", "", $hex); 

      if(strlen($hex) == 3) { 
       $r = hexdec(substr($hex,0,1).substr($hex,0,1)); 
       $g = hexdec(substr($hex,1,1).substr($hex,1,1)); 
       $b = hexdec(substr($hex,2,1).substr($hex,2,1)); 
      } else { 
       $r = hexdec(substr($hex,0,2)); 
       $g = hexdec(substr($hex,2,2)); 
       $b = hexdec(substr($hex,4,2)); 
      } 
      $rgb = array($r, $g, $b); 
      return implode("", $rgb); // returns the rgb values separated by commas 
      //return $rgb; // returns an array with the rgb values 
     } 
     echo $rgb = hex2rgb("#cc0"); 
+0

@BeatAlex. Спасибо за указание, есть опция как для массива, так и для номера! –

+0

Я как-то удалил свой комментарий, был случай. Но я не смотрел в нее, и если есть число, то я извиняюсь! – Albzi

+0

@BeatAlex, проблем нет! –

Смежные вопросы