1

我见过类似的问题,但没有完全相同的问题。在数据库中,我为特定 div 的背景和边框颜色保存了十六进制值。我已经确认我正在将它们从数据库中取出。冒着听起来像个白痴的风险:尝试以我的内联样式回显变量时,它不起作用:

<div style="background-color: <?php echo $bg ?>; border: 3px solid <?php echo $border ?>;" id="container">

我有预感,即使简单地编写十六进制代码也可以正常工作,但变量生成的字符串不能注册为十六进制值。经过一番搜索,我尝试了以下一些方法(没有成功):

function strToHex($string)
{
$hex='';
for ($i=0; $i < strlen($string); $i++)
{
    $hex .= dechex(ord($string[$i]));
}
return $hex;
}

$bg=bin2hex($bg);

无论如何,我错过了什么吗?存储在我的数据库中的字符串是否需要以某种方式进行转换?如何根据数据库中保存的十六进制代码更改此 div 的背景颜色?

4

1 回答 1

2

这是您的页面源代码中的行:

<div style="background-color: ##00000; border: 3px solid #519c2;" id="container">

这两个颜色代码都不正确。##00000应该是#000000#519c2太短 - 它应该有六个十六进制数字。

于 2013-08-14T22:50:43.763 回答