Просмотр исходного кода

fix: 解答题-解析中-步骤分割后多一个框的问题

gwd 1 неделя назад
Родитель
Сommit
61b763c97b
1 измененных файлов с 9 добавлено и 1 удалено
  1. 9 1
      resources/views/components/exam/paper-body.blade.php

+ 9 - 1
resources/views/components/exam/paper-body.blade.php

@@ -485,8 +485,16 @@
                                     for ($i = 0; $i < count($allSteps); $i++) {
                                         $stepText = trim($allSteps[$i]);
                                         if (!empty($stepText)) {
+                                            // 只有真正以"步骤"或"第X步"开头的部分才加方框
+                                            // 第一个部分如果不是步骤开头(如【分析】),则不加方框
+                                            $isStep = preg_match('/^(步骤\s*\d+|第\s*\d+\s*步)/u', $stepText);
                                             $prefix = ($i > 0) ? '<br>' : '';
-                                            $processed .= $prefix . '<span class="solution-step"><span class="step-box">' . $renderBoxes(1) . '</span><span class="step-label">' . $stepText . '</span></span>';
+                                            if ($isStep) {
+                                                $processed .= $prefix . '<span class="solution-step"><span class="step-box">' . $renderBoxes(1) . '</span><span class="step-label">' . $stepText . '</span></span>';
+                                            } else {
+                                                // 非步骤的前缀文本,直接输出不加方框
+                                                $processed .= $prefix . '<span class="step-label">' . $stepText . '</span>';
+                                            }
                                         }
                                     }
                                     $solutionProcessed = $processed;