1

同様の質問を見たことがありますが、まったく同じものはありません。DB では、特定の div の背景色と境界線の色の 16 進値を保存しました。データベースからそれらを取得していることを確認しました。ばかのように聞こえるリスクがあります: インライン スタイルで変数をエコーし​​ようとすると、機能しません:

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

単純に 16 進コードを記述するだけでは問題なく動作するのに、変数によって生成される文字列は 16 進値として登録できないという予感がしました。いくつか検索した後、次のいくつかを試しました(成功しませんでした):

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

$bg=bin2hex($bg);

とにかく、私は何かを逃していますか?DB に格納されている文字列を何らかの方法で変換する必要がありますか? データベースに保存されている 16 進コードに基づいて、この div の背景色を変更するにはどうすればよいですか?

4

1 に答える 1

2

これはあなたのページソースからの行です:

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

2 つのカラー コードはどちらも正しくありません。##00000する必要があります#000000#519c2は短すぎます。6 桁の 16 進数にする必要があります。

于 2013-08-14T22:50:43.763 に答える