文本差異比較:jsdifflib
jsdifflib 是一個用來比較文本差異的 JavaScript 庫,并使用 HTML 生成差異報告。
function diffUsingJS() {
// get the baseText and newText values from the two textboxes, and split them into lines
var base = difflib.stringAsLines($("baseText").value);
var newtxt = difflib.stringAsLines($("newText").value);
// create a SequenceMatcher instance that diffs the two sets of lines
var sm = new difflib.SequenceMatcher(base, newtxt);
// get the opcodes from the SequenceMatcher instance
// opcodes is a list of 3-tuples describing what changes should be made to the base text
// in order to yield the new text
var opcodes = sm.get_opcodes();
var diffoutputdiv = $("diffoutput");
while (diffoutputdiv.firstChild) diffoutputdiv.removeChild(diffoutputdiv.firstChild);
var contextSize = $("contextSize").value;
contextSize = contextSize ? contextSize : null;
// build the diff view and add it to the current DOM
diffoutputdiv.appendChild(diffview.buildView({
baseTextLines: base,
newTextLines: newtxt,
opcodes: opcodes,
// set the display titles for each resource
baseTextName: "Base Text",
newTextName: "New Text",
contextSize: contextSize,
viewType: $("inline").checked ? 1 : 0
}));
// scroll down to the diff view window.
location = url + "#diff";
} 項目主頁:http://www.baiduhome.net/lib/view/home/1385437060150
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!