Я создал словесную игру в php / mysql, где пользователям предлагается случайно выбранное слово на иностранном языке, а затем приходится заполнять пропущенные буквы (которые в зависимости от длины слова иногда удаляются случайным образом или иногда все буквы удаляются) из английская версия этих слов в поля ввода формы, которые позже передаются в базу данных через форму для проверки …
Приведенный ниже код работает нормально, за исключением случаев, когда в слове есть несколько экземпляров конкретной буквы, например, слово «пчелы».
Например, он пройдет через «найти», но затем заменит и то и другое экземпляры буквы «е» с любым
<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="" />
То, что я действительно хочу, это чтобы он просто заменил, как только первый «е» он находит, так что один экземпляр буквы «е» заменяется на
<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 и застрял в том, как я могу достичь этого, и вполне может упускать из виду гораздо более простое решение, о котором я в настоящее время не знаю … если кто-то может протянуть руку и дать мне несколько советов, это было бы очень оценили !!
Задача ещё не решена.
Других решений пока нет …