特定の文字列を画像に置き換える方法を探しています。すべての文字列は {} で囲まれており、コードが [} を検出すると、その内容が読み取られ、それに等しいものが特定の画像になります。私はこれを実装する方法が最も曖昧ではなく、誰かが私に例を教えてくれることを望んでいました.
よりよく説明するための私の例を次に示します。
{1} is replaced with an image
そのため、コードが {} を検出すると、コードがアクティブになります。現在は、コードの他の部分に干渉しないように、1 文字と特定の文字のみに制限されています。これは、魔法カードのキャスト コストをより具体的にするためのものです。それも限定だろうし……。
B、U、R、G、W、X、T、1 ~ 99 など
===============================
で……こういうこと?
$image_string = '{R}{R}{R}{3}
$Mana_symbol ='BURGWXT1-99';
$output = preg_replace_all('/\{([' . $Mana_symbol. '])\}/', '<img src="\1.png"/>', $string);
switch ($output)
{
case ('B'):
$mana = '<img src = "black_mana.png"/>';
break;
case ('U'):
$mana = '<img src = "blue_mana.png"/>';
break;
case ('G'):
$mana = '<img src = "green_mana.png"/>';
break;
case ('R'):
$mana = '<img src = "red_mana.png"/>';
break;
case ('W'):
$mana = '<img src = "white_mana.png"/>';
break;
case ('1'):
$mana = '<img src = "1_colorless_mana.png"/>';
break;
case ('2'):
$mana = '<img src = "2_colorless_mana.png"/>';
break;
case ('3'):
$mana = '<img src = "3_colorless_mana.png"/>';
break;
....etc....
これの複数のインスタンスを持つものがあるので、 preg_replace_all を使用すべきではありませんか? 上記の $image_string の例のように、一致する文字列内のすべてのオカレンスを置き換えますか?