|
|
@@ -1055,7 +1055,7 @@ function ChangeCheckFlag(DataStr, AnswerStr) {
|
|
|
var pattWStr = "";
|
|
|
for (var i = 0; i < DataArr.length; i++) {
|
|
|
if (pattWStr != "") {
|
|
|
- pattWStr += ".*?" + DataArr[i];
|
|
|
+ pattWStr += ".*" + DataArr[i];
|
|
|
}
|
|
|
else {
|
|
|
pattWStr += DataArr[i];
|
|
|
@@ -1063,9 +1063,11 @@ function ChangeCheckFlag(DataStr, AnswerStr) {
|
|
|
}
|
|
|
var matchesWArr = AnswerStr.match(new RegExp(pattWStr, "ig"));
|
|
|
if (matchesWArr != null && matchesWArr.length > 0) {
|
|
|
- //DataStr = matchesWArr[0];
|
|
|
- //ReStr = AnswerStr.substring(0, (AnswerStr.indexOf(DataStr) + DataStr.length));
|
|
|
- ReStr = matchesWArr[0];
|
|
|
+ var matchesStr = matchesWArr[0];
|
|
|
+ ReStr = AnswerStr.substring(0, (AnswerStr.indexOf(matchesStr) + matchesStr.length)); // 获取到的匹配字符串
|
|
|
+ // 安卓的惰性匹配不成功
|
|
|
+ var StartIndex = ReStr.indexOf(DataArr[DataArr.length - 1], DataStr.indexOf("'"));
|
|
|
+ ReStr = ReStr.substring(0, (StartIndex + DataArr[DataArr.length - 1].length)); // 获取最前面的字符串
|
|
|
}
|
|
|
}
|
|
|
return ReStr;
|
|
|
@@ -1085,6 +1087,9 @@ function SplitUserAnswer(AllAnswer, mytext) {
|
|
|
var RemoveStr = mytext.substring(0, (mytext.indexOf(ReStr) + ReStr.length)); // 匹配到的整句话
|
|
|
var PrevReStr = mytext.substring(0, mytext.indexOf(ReStr)); // 匹配到的前半部分(无适配/多余)
|
|
|
mytext = mytext.replace(RemoveStr, "");
|
|
|
+ while (mytext[0] == " ") {
|
|
|
+ mytext = mytext.substring(1, mytext.length); // 删除前缀空格
|
|
|
+ }
|
|
|
if (checkStrFunc(AllAnswer[i].ID) && AllAnswer[i].Type == "sentence") {
|
|
|
// 检查是否属于高亮,存在需要恢复显示高亮
|
|
|
ReStr = PrevReStr + '<img src="' + PicInfo.sentenceIcoUrl + '" class="sentImagcs" data-lstatus="3" data-setstatus="1"><span id="' + AllAnswer[i].ID + '" name="S' + AllAnswer[i].ID + '" flag="sentence" class="sentenceStyle" data-setstatus="1" data-lstatus="1" kcode="' + AllAnswer[i].kcode + '" hitcode="' + AllAnswer[i].hitcode + '">' + ReStr + '</span>';
|