2009-07-14 60 views
2

是否可以突出顯示其他文本段落中的修改?如何突出顯示其他文本段落中的變化/差異?

例如,數據庫中有3個文本字段。非管理員用戶可以編輯文本並提交批准。當管理員登錄時,他可以打開審批頁面,並通過修改顯示原始文本和用戶提交的文本。通常這些修改本質上是非常小的,比如拼寫糾正或者只是刪除或添加一個句子。

它可以以這樣一種方式呈現,即修改(從原始文本)突出顯示,以便管理員用戶在批准之前不必檢查每個字段和每一行?

任何幫助,將不勝感激。 謝謝。

更新: 有點類似於TortoiseSVN的代碼更改突出顯示。

回答

3

如果你熟悉GNU/Linux的工具,你可能熟悉的'差異」的工具。

而有人已經寫了一個功能齊全的比較,用於比較php中的文件/字符串。

您可以在這裏找到它:php diff example

0

這是一個古老的線程,但認爲我會編目我的發現。

如果你想使用原始的PHP,這是迄今爲止最簡單,最快,最有效的解決方案,我發現:http://paulbutler.org/archives/a-simple-diff-algorithm-in-php/

從我所知道的,上面的代碼的作者是使用算法這篇文章中概述:http://www.codeproject.com/Articles/6943/A-Generic-Reusable-Diff-Algorithm-in-C-II

發生的事情(從文章所)的基本描述:

  • 查找項目的當前最長匹配序列(LMS)。
  • 將此LMS存儲在結果堆中。
  • 使用遞歸處理LMS上方所有數據。
  • 使用遞歸處理LMS下面的所有數據。

工程就像一個魅力!