我正在使用差异匹配补丁https://github.com/google/diff-match-patch来比较 html 文件的文本及其按预期工作。但是用户想要添加一个功能来比较格式(粗体、斜体、下划线)
但是差异匹配补丁只接受字符串。
我创建了一个包含 html 文件的文本及其字体属性的类
class TextProperty
{
public string Text { get; set; }
public bool isBold { get; set; }
public bool isItalic { get; set; }
public bool isUnderline { get; set; }
}
但是我现在遇到的问题是当我阅读 html 内容时。我通过文字阅读它。我附加了具有相同格式的文本
例如我有这个示例文本
所以我的输出是
This is a normal text with : isBold = false : isItalic = false : isUnderline = false
bold : isBold = true: isItalic = false : isUnderline = false
and : isBold = false : isItalic = false : isUnderline = false
italic : isBold = false : isItalic = true : isUnderline = false
and : isBold = false : isItalic = false : isUnderline = false
underline : isBold = false : isItalic = false : isUnderline = true
text : isBold = false : isItalic = false : isUnderline = false
但是有了这个输出,我怎么能在我的差异匹配通道中传递它。
如果我修改差异匹配补丁。它将接受列表TextProperty
这是这样做的好方法吗?或任何更好的选择?
但是在阅读 diff-match-patch 的代码后,我需要修改很多代码