0

我在 php/mysql 中创建了一个文字游戏,其中向用户展示了一个随机选择的外语单词,然后必须填写缺失的字母(取决于单词长度,有时会随机删除或有时会删除所有字母)将这些单词的英文版输入表单输入字段,然后通过表单提交到数据库以进行检查...

下面的代码可以正常工作,除非一个单词有多个特定字母的实例,例如单词“Bees”

例如,它将通过查找“e”,然后将字母“e”的两个实例替换为

<input type="text" name="question_1_letter_1" class="inputs" maxlength="1" value="" />
         or 
<input type="text" name="question_1_letter_2" class="inputs" maxlength="1" value="" />

我真正想要的是它只替换它找到的第一个“e”,因此字母“e”的一个实例被替换为

<input type="text" name="question_1_letter_1" class="inputs" maxlength="1" value="" />

另一个实例被替换为

<input type="text" name="question_1_letter_2" class="inputs" maxlength="1" value="" />

这是主要代码

    $one = "question_1_letter_$key1";
    $two = "question_1_letter_$key2";
    $three = "question_1_letter_$key3";
    $four = "question_1_letter_$key4";
    $string = Bees;
    $selected_letter1 = B;
    $selected_letter2 = e;
    $selected_letter3 = e;
    $selected_letter4 = s;

$Find = Array($selected_letter1, $selected_letter2, $selected_letter3, $selected_letter4);

$Replace = Array(
"`<input type=\"text\" name=\"$one\" class=\"inputs\" maxlength=\"1\" value=\"\" />`",
"`<input type=\"text\" name=\"$two\" class=\"inputs\" maxlength=\"1\" value=\"\" />`",
"`<input type=\"text\" name=\"$three\" class=\"inputs\" maxlength=\"1\" value=\"\" />`",
"`<input type=\"text\" name=\"$four\" class=\"inputs\" maxlength=\"1\" value=\"\" />`"
);

$New_string = strtr($string, array_combine($Find, $Replace));

echo $New_string;

希望这是有道理的!我仍然是一个新手 php 程序员,并且坚持我如何实现这一点,并且很可能忽略了一个我目前不知道的更简单的解决方案......如果有人可以伸出援手并给我一些指点,那将是极大的赞赏!!

4

0 回答 0