2010-07-22 49 views
4

總之,我正在尋找諸如PHP中的google-diff-match-patch之類的東西。PHP中字符明智的字符串比較

我有看在SO一些類似的問題,也是在算法提供here,但他們都失敗:

diff("draßen", "da draußen") 

應該

<del>draßen</del> <ins>da draußen</ins> 

(這對我的目的來說很愚蠢,因爲我想比較文件名),但是(try here)

<ins>da </ins>dra<ins>u</ins>ßen 

在PHP中是否有代碼段來執行此操作?不幸的是,我不能使用(即安裝)外部軟件包。

+0

不知道這是你想要什麼,但給這個PHP函數看看:http://php.net/manual/en/function.similar-text.php。這裏還有levenshtein算法,參見「另請參見」。 – Francisc 2010-07-22 09:30:53

+0

您可以爲「in-word」檢查與「similar_text()」進行比較時定義閾值百分比。沒有時間來制定一個例子a.t.m.雖然。 – Wrikken 2010-07-22 09:36:58

+0

在鏈接到的Google代碼頁上的[API文檔](http://code.google.com/p/google-diff-match-patch/wiki/API)中提到了部分PHP實現 - 儘管這還不是存儲庫的一部分。 – MrWhite 2010-07-22 10:25:43

回答

2

PEAR Package Text_Diff提供了Inline-Diffs。

+0

我知道。但我不能安裝梨包afaik。 – fuenfundachtzig 2010-07-22 16:05:47

+1

您可以將Text_Diff包下載爲tgz。所以你可以提取你實際需要的函數/算法。 – 2010-07-22 18:34:38