2013-03-13 111 views
2

我想比較兩個包含HTML的字符串。 (它們都通過wysiwyg編輯器放入數據庫中)。比較並突出顯示包含html的兩個字符串的差異

我想得到的結果是看看哪些單詞被刪除,哪些已被添加。

要做到這一點我使用this bit of code如下:

$old = "<p>Lorem ipsum is standard dummy text</p>"; 
$new = "<p>Lorem ipsum was standard dummy jibbrish</p>"; 
echo htmlDiff($old, $new); 

這工作完全正常。但是,當我添加一些標籤,如<li>,樂趣結束。

例如,如果我想有以下幾點:

$old = "<p>Lorem ipsum is standard dummy text. <ul><li>Lorem</li><li>Ipsum</li><li>Dolor</li></ul></p>"; 

$new = "<p>Lorem ipsum was standard dummy jibbrish. <ul><li>Lorem</li><li>Dolor</li></ul></p>"; 

echo htmlDiff($old, $new); 

<del>標籤被第一個列表項後正確添加,但刪除列表項被放置在<del>標籤以外,使它看起來像它沒有被刪除。

我可以解決這個通過剝離所有標籤,但我想保持兩個字符串的佈局。

任何幫助或建議,非常感謝。

回答

相關問題