我在 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 程序员,并且坚持我如何实现这一点,并且很可能忽略了一个我目前不知道的更简单的解决方案......如果有人可以伸出援手并给我一些指点,那将是极大的赞赏!!