下面是使用 JavaScript 代码比较两个文本框的文字内容,找出最接近的一段文字,并将差异部分用不同颜色高亮显示的示例代码:

// 获取文本框元素
var txA = document.getElementById('TX1');
var txB = document.getElementById('TX2');
var txC = document.getElementById('TX3');

// 获取原始文本和参考文本的内容
var textA = txA.value;
var textB = txB.value;

// 查找最接近的一段文字
var diff = JsDiff.diffChars(textB, textA);
var closest = diff.reduce(function(prev, current) {
  if (current.count > prev.count) {
    return current;
  } else {
    return prev;
  }
});

// 将差异内容展示在TX3中
var diffContent = '';
diff.forEach(function(part) {
  var color = '';

  if (part.added) {
    color = 'blue';
  } else if (part.removed) {
    color = 'red';
  } else {
    color = 'purple';
  }

  diffContent += `<span style="color: ${color}">${part.value}</span>`;
});

txC.innerHTML = diffContent;

代码说明:

  1. 获取三个文本框元素,分别对应原始文本 (TX1)、参考文本 (TX2) 和差异显示区域 (TX3)。
  2. 获取文本框的内容。
  3. 使用 JsDiff 库比较文本差异,并找出最接近的一段文字。
  4. 遍历差异结果,将每个部分用不同的颜色高亮显示,并拼接成最终的差异内容。
  5. 将差异内容显示在 TX3 文本框中。

注意:

  • 此代码假设 HTML 页面中已创建了三个文本框,并设置了相应的 ID。
  • 需要引入 JsDiff 库才能使用其提供的文本比较功能。
  • 使用 span 标签和 style 属性来实现差异内容的颜色高亮显示。
JavaScript 代码:比较文本差异并高亮显示

原文地址: https://www.cveoy.top/t/topic/qqP8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录