diff --git a/exercises/cloze_exercise.php b/exercises/cloze_exercise.php index 3fceddfb604b2dd903216507b46f0af2fac4fa89..de795c81c3122eb20d1286b356312317a3f7cff9 100644 --- a/exercises/cloze_exercise.php +++ b/exercises/cloze_exercise.php @@ -355,14 +355,18 @@ class cloze_exercise extends Exercise $select = $this->isSelect($blank, false) ? ':' : ''; foreach ($this->task['answers'][$blank] as $answer) { + $answer_text = $answer['text']; + + if (preg_match('/^([":*~]|$)/', $answer_text)) { + $answer_text = '"' . $answer_text . '"'; + } + if ($answer['score'] == 0) { - $answers[] = '*' . $answer['text']; + $answers[] = '*' . $answer_text; } else if ($answer['score'] == 0.5) { - $answers[] = '~' . $answer['text']; - } else if (preg_match('/^([":*~]|$)/', $answer['text'])) { - $answers[] = '"' . $answer['text'] . '"'; + $answers[] = '~' . $answer_text; } else { - $answers[] = $answer['text']; + $answers[] = $answer_text; } }