【问题标题】:PHP: Convert hex color from color input to PHP hex numberPHP:将十六进制颜色从颜色输入转换为 PHP 十六进制数
【发布时间】:2014-01-29 16:36:57
【问题描述】:

我想将我的十六进制颜色从颜色输入(例如:#FFFFFF)转换为 PHP 十六进制数字格式(例如:0xFFFFFF)。

我尝试使用 str_replace 将 # 替换为 0x 但这将其转换为字符串,我想将其保留为数字。

有什么办法吗?

【问题讨论】:

  • 您可以使用PHP的number()函数将您的字符串转换为数字。
  • @LajosArpad 什么数字()!!?
  • 这个here 将进行各种转换。

标签: php colors hex color-picker


【解决方案1】:

也许这个功能是你需要的?

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

"返回 hex_string 参数表示的十六进制数的十进制等效值。hexdec() 将十六进制字符串转换为十进制数。

hexdec() 将忽略它遇到的任何非十六进制字符。"

一些补充信息:

dechex() 如果你需要它会给你一个包含数字的十六进制表示的字符串,但如果它是一个你需要传递的数字,你似乎应该处理一个整数。

【讨论】:

  • 我的问题很简单:我想将十六进制的 css 颜色表示(例如 #FFFFFF)转换为 PHP 十六进制数(例如 0x000000)。
  • @RafikHaceb 我在回答中添加了一些上下文。
【解决方案2】:

你可以试试这个吗,找到了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");

【讨论】:

  • @BeatAlex。感谢您指出,数组和数字也有一个选项!
  • 我不知何故删除了我的评论,是个意外。但我没有调查,如果有数字,我很抱歉!
  • @BeatAlex,没问题!
  • 我没有要求 RGB 表示,我想将十六进制的 css 颜色表示转换为 php 十六进制数:#FFFFFF 到 0xFFFFFF
猜你喜欢
  • 2019-10-29
  • 1970-01-01
  • 1970-01-01
  • 2017-10-30
  • 2012-07-25
  • 2013-08-08
  • 2020-08-06
  • 2012-05-29
相关资源
最近更新 更多