diff --git a/tests/scripts/fix_mimetex.php b/tests/scripts/fix_mimetex.php index 69d74d4db6..5d742d77db 100644 --- a/tests/scripts/fix_mimetex.php +++ b/tests/scripts/fix_mimetex.php @@ -30,9 +30,11 @@ foreach ($data as $row) { $items = Database::store_result($result, 'ASSOC'); foreach ($items as $item) { $id = $item['iid']; - $content = fixText($item['answer']); + $answer = fixText($item['answer']); + $comment = fixText($item['comment']); $params = [ - 'answer' => $content + 'answer' => $answer, + 'comment' => $comment, ]; Database::update('c_quiz_answer', $params, ['iid = ? ' => $id]); } @@ -40,8 +42,17 @@ foreach ($data as $row) { function fixText($content) { + $debug = false; + if (strpos($content, 'mimetex.cgi') !== false) { + $content = preg_replace('/[\r\n]+/', '', $content); + //$debug = true; + if ($debug) { + var_dump($content); + } + } + $matches = []; - if (preg_match_all('/(.*)?/', $content, $matches)) { + if (preg_match_all('/(.*?)/', $content, $matches)) { $count = count($matches[0]); for ($i = 0; $i <= $count; $i++) { if (isset($matches[0]) && isset($matches[0][$i])) { @@ -51,5 +62,67 @@ function fixText($content) } } + $matches = []; + /*(.*)? + (.*)?*/ + // if (preg_match_all('/(.*)?/', $content, $matches)) { + if (preg_match_all('/(.*?)`".$matches[3][$i]."`"; + $content = str_replace($matches[0][$i], $value, $content); + } + } + } + + $matches = []; + if (preg_match_all('/(.*?)/', $content, $matches)) { + $count = count($matches[0]); + for ($i = 0; $i <= $count; $i++) { + if (isset($matches[0]) && isset($matches[0][$i])) { + $value = "`".$matches[3][$i]."`"; + $content = str_replace($matches[0][$i], $value, $content); + } + } + } + + $matches = []; + if (preg_match_all('/(.*?)`".$matches[3][$i]."`"; + $content = str_replace($matches[0][$i], $value, $content); + } + } + } + + $matches = []; + if (preg_match_all('/(.*?)/', $content, $matches)) { + $count = count($matches[0]); + for ($i = 0; $i <= $count; $i++) { + if (isset($matches[0]) && isset($matches[0][$i])) { + $value = "`".$matches[3][$i]."`"; + $content = str_replace($matches[0][$i], $value, $content); + } + } + } + + $matches = []; + if (preg_match_all('//', $content, $matches)) { + $count = count($matches[0]); + for ($i = 0; $i <= $count; $i++) { + if (isset($matches[0]) && isset($matches[0][$i])) { + $value = "`".$matches[3][$i]."`"; + $content = str_replace($matches[0][$i], $value, $content); + } + } + } + + if ($debug) { + var_dump($content); + } + return $content; }