我正在寻找一种用图像替换某些字符串的方法。所有字符串都包含在 {} 中,当代码看到 [} 时,将读取里面的内容,它等于的内容将成为特定的图像。我没有最模糊的如何实现这一点,并希望有人能给我一个例子。
这是我的示例以更好地解释:
{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 一样,它将替换字符串中匹配的所有出现?