実現したいこと
お世話になります。
PHP8.2の環境にて、変数のカラーの値でグラデーションのCSSをHTMLタグ内に記述したい
発生している問題・分からないこと
実行すると、Fatal error〜、エラーが表示されます。どうやら原因はCSS内の % 記号の記述のためのようで、何らかのエスケープ処理が有るかと思うのですが見つけられませんでした。
エラーメッセージ
error
1Fatal error: Uncaught ValueError: Unknown format specifier~以下略
該当のソースコード
PHP8.2
1/* 変数 $top、$bottom が取得するカラー値*/ 2$color_set = 'background: linear-gradient(to bottom, '.$top.' 0%,'.$bottom.' 100%);'; 3$slide_bgset = ' style="'.$color_set.'"'; 4$echo_contents = sprintf('<div class="slide-contents relative"'.$slide_bgset.'>%1$s %2$s %3$s</div>', /*以下sprintf内容*/); 5echo $echo_contents;
試したこと・調べたこと
上記の詳細・結果
PHPの公式サイトにて
「NumberFormatter::setSymbol」
「numfmt_set_symbol」
などのページを参照しましたが、うまくいきませんでした。
補足
PHPの7くらいまでは、特に問題なく表記できていたようですので、8.2にアップしたためのエラーだと思われますが、検索しても対処法が特定できませんでした。
ご存知の方がいられましたらご教授頂けると幸いです。
0 コメント