var original = "Ruby on Rails";
var find = "ru ra";
var posToAdd = [];
var newStr = [];
for (var i = 0; i < original.length; i++) {
newStr.push(original.charAt(i));
}
find = find.split(" ");
for (var i = 0; i < original.length; i++) {
for (var e = 0; e < find.length; e++) {
if (original.substring(i, find[e].length + i).toLowerCase() == find[e].toLowerCase()) {
posToAdd.push(i);
}
}
}
var count = 0;
for (var i = 0; i < posToAdd.length; i++) {
newStr.splice(posToAdd[i] + count, 0, "<strong>");
newStr.splice(posToAdd[i] + count + (find[i].length + 1), 0, "</strong>");
count += 2;
}
var outputStr = "";
for (var i = 0; i < newStr.length; i++) {
outputStr += newStr[i];
}
print(outputStr);
你已經非常瞭解算法:解析文本節點的內容並分割成新的節點和span元素。您可能需要處理'R uby'中的匹配「ru」。 – RobG