如何找到两个HTML文本之间的差异?

时间:2011-03-04 10:12:32

标签: java

如何找到两个HTML文本之间的差异?

我需要类似于Diff Patch Match

的内容

Diff Patch Match的问题在于它只找到两个纯文本之间的差异而不是HTML文本。

4 个答案:

答案 0 :(得分:1)

您可以使用一些正则表达式从文本中剥离HTML标记,然后使用Diff Patch Match库在它们之间进行区分。 请注意,这不会发现样式有任何差异。

编辑: 如果您想显示发现的差异以及它们的样式,您可以搜索修改后的文本中的差异并解析文本以查找围绕它的HTML,然后使用显示差异以及此HTML。

答案 1 :(得分:0)

您可以使用HTML Parser之类的库提取文本,然后应用此差异

答案 2 :(得分:0)

Here正是您所需要的。

<强> A.TXT

Hello

hi friends

<强> b.txt

Hello world

hi

<强>输出

C:\Documents and Settings\Administrator\Desktop>java Diff a.txt b.txt
>>>> Difference of file "a.txt" and file "b.txt".

>>>> 1 CHANGED FROM
Hello

hi friends
>>>>     CHANGED TO
Hello world

hi

>>>> End of differences.

答案 3 :(得分:0)

使用Html Tidy处理您的.html文件。

然后使用您最喜欢的差异工具(例如Diff Patch Match,windiff,......)来比较Html Tidy的输出。