Java 如何找到两个HTML文本之间的差异?
如何找出两个HTML文本之间的差异 我需要类似的东西Java 如何找到两个HTML文本之间的差异?,java,Java,如何找出两个HTML文本之间的差异 我需要类似的东西 Diff-Patch-Match的问题是,它只查找两个纯文本之间的差异,而不查找HTML文本之间的差异。您可以使用类似的库提取文本,然后应用此Diff正是您所需要的 a.txt Hello hi friends Hello world hi C:\Documents and Settings\Administrator\Desktop>java Diff a.txt b.txt >>>> Differen
Diff-Patch-Match的问题是,它只查找两个纯文本之间的差异,而不查找HTML文本之间的差异。您可以使用类似的库提取文本,然后应用此Diff正是您所需要的 a.txt
Hello
hi friends
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.
b.txt
Hello
hi friends
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.
输出
Hello
hi friends
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.
用于处理每个.html文件
然后使用您喜爱的diff工具(例如diff Patch Match、windiff等)比较Html Tidy的输出。您可以使用一些正则表达式从文本中剥离Html标记,然后使用diff Patch Match库对它们进行区分。 请注意,这不会在样式上发现任何差异 编辑:
如果您想显示所发现的差异以及它们的样式,您可以搜索修改文本中的差异,并对文本进行分析,以找到其周围的HTML,然后使用“显示差异以及此HTML”。HTML和常规文本之间的差异是什么?!什么是HTML,然后是纯文本?你在寻找一个可以区分呈现HTML的工具吗?基本上,我的应用程序中有一个屏幕,其中有一个富文本编辑器。管理员用户将使用RTE输入文本。用户可以输入同一文本的不同版本。因此,对于例如v1,应该像“一些文本”。v2可以是“某些文本编辑”。这可以是纯文本或html,因为它是RTE。我需要找出这两个版本之间的差异。我想他也想知道html结构的差异。纯文本比较可能会发现以下差异:
代码>和代码>因为空格。是的,但在本例中,在找到差异后,我将如何应用原始样式?这里有两个问题:1)如果您想用样式显示差异;2)如果您也想显示样式的差异,例如,显示有人在新版本中使用了粗体文本。你想两者都做吗?理想情况下,是的。但如果2)不可能,至少我应该能够展示风格上的差异。我更新了我的答案,告诉你如何实现1)