我们动态生成HTML
页面并在每个页面上突出显示文本中的实体。有不同类别的实体,因此不同的颜色用于突出显示每个类。产生我们使用的跨度的方法是有问题的,因为它可以产生不正确的嵌套标签。例如:
<p><div style="color: blue">dog<span style="color: red"> barked</div> at the intruder</span>.</p>
&#13;
这可以通过清理引擎纠正,如下:
<p><div style="color: blue">dog<span style="color: red"> barked</span></div><span style="color: red"> at the intruder</span>.</p>
&#13;
但是,我们的主要问题是我们根据文本块中的开始和结束字符位置确定要突出显示的实体。我们通过反向迭代它们来插入标签(文本中的最后一个实体到文本中的第一个),这样当插入标签时它不会干扰任何后续实体的开始和结束位置。当存在重叠标签时,此方法不起作用。
我想有一些常见的解决方案可以处理标签汤中不正确嵌套的标签,并根据字符位置标记重叠的实体。我认为在这种情况下这些问题是相互关联的。那么,如何使用开始和结束位置生成包含可能重叠实体标签的HTML
格式化文本?