当我去(例如)评论部分时, 我看到这些格式精美的文字差异:
或合并后的一个:
现在,这到底是怎么回事?我很想把它包含在我的网站上,但我无法弄清楚算法。这是在某处记录的吗?
是否有一个开源实现,最好在PHP
?
感谢您的帮助。
答案 0 :(得分:3)
根据您发布的图片和我自己的图片(尽管经验不多),网站似乎使用了最长公共子序列算法的修改。这就解释了为什么它从未显示出重新排列/改组的话语。
第一个修改是,不是将字母表视为原子单位,而是将单词视为原子单位。 (还有标点符号)
其次,算法相对天真,它指出你划掉了#34; work"当你真正插入一个到那里。它似乎只是标记任何类型的不连续性(插入,删除,修改)并跨越一个词或整个停止部分。
第三,第二个列表中不是第一个列表的一部分的所有内容都标记为绿色。
似乎相对容易实现。查看一些关于动态编程的教程。