2011-03-04 78 views
0

如何找到兩個HTML文本之間的區別?如何找到兩個HTML文本之間的區別?

我需要類似Diff Patch Match

一些與打上補丁匹配的問題是,發現兩個明文只,而不是HTML文本之間的差異。

+0

html和常規文本有什麼區別? – 2011-03-04 10:18:26

+0

什麼是HTML然後純文本?您是否在尋找一種能夠區分呈現的HTML的工具? – 2011-03-04 10:19:04

+0

基本上我在我的應用程序中有一個富文本編輯器的屏幕。管理員用戶將使用RTE輸入文本。用戶可以輸入不同版本的相同文本。因此,例如。 v1就像「一些文字」。 v2可以是「一些文本編輯」。這可以是純文本或HTML,因爲它是一個RTE。我需要找到這兩個版本之間的差異。 – ashishjmeshram 2011-03-04 12:08:34

回答

1

您可以使用一些正則表達式從文本中剝離HTML標籤,然後使用Diff Patch Match庫在它們之間做出區別。 請注意,這不會在風格上發現任何差異。

編輯: 如果您想要顯示發現的差異以及它們的樣式,您可以搜索修改後的文本中的差異並解析文本以找到圍繞它的HTML,然後使用顯示差異這個HTML。

+0

是的,但在這種情況下,在找到差異後,我將如何應用原始樣式? – ashishjmeshram 2011-03-04 13:26:53

+0

這裏有兩個問題1)如果你想顯示與樣式2)的區別,如果你想顯示樣式的差異,例如,以顯示有人在新版本中創建了一個文本BOLD。你想兩個都做? – guru 2011-03-04 13:33:59

+0

理想情況下,是的。但如果2)是不可能的,至少我應該能夠顯示風格的差異。 – ashishjmeshram 2011-03-04 14:16:01

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. 
+1

我想他也想得到html結構的差異。純文本比較可能會看到不同之處:' ...'和' ...'由於空白。 – Thomas 2011-03-04 10:27:24

0

使用Html Tidy至方法E等你的.html文件。

然後使用你最喜歡的diff工具(例如Diff Patch Match,windiff,...)來比較Html Tidy的輸出。