2011-01-05 5 views
9

比較は、オンザフライで動作する必要があるため、これはjavascriptまたはphp(javascript ajaxリクエストを行う)で行う必要があります。2つの文字列を比較し、相違点を表示する(PHPまたはjavascript)

私が必要とするのは、おそらく高度な相違点の表示です。したがって、サポートされているライブラリがあれば、おそらく最適です。 は、私はOKですが、複数行をサポートしていません。このhttp://ejohn.org/projects/javascript-diff-algorithm/(例http://www.djsipe.com/js-diff/)を見つけ:

この写真は私が>

Tortoise Merge

を追加しました#1を必要とするものを正確に示していますか?そして唯一の文字が異なる場合、それは...

を追加しました#2単語全体を変更します。 を私はPHPスクリプト(https://github.com/paulgb/simplediff/)をテストしたが、それは欠陥があります。

を追加しました#3:私は私が探していたものを見つけ に(http://code.google.com/p/google-diff-match-patch/

+0

[PHPでの2つの文字列の違いを強調する](http://stackoverflow.com/questions/321294/highlight-the-difference-between-two-strings-in-php) – GWW

+1

ご覧のとおりあなたが私に与えたリンクに関する質問は2歳です。答えは受け入れられ、リンクが壊れています(私はすでにこの午後の答えにコメントしています)。 –

答えて

8

を参照してください。 google-diff-match-patch

複雑でよく知られているすべてのアルゴリズムを処理するAPIを提供します。しかし、あなたはプレゼンテーションでいくつかの作業をしなければなりません。

PHPは多方面に存在するので、多くの差分ツールがあります。 この他の関連する質問をご覧くださいCalculate text diffs in PHP

+0

Tnx、私はこれと思う> http://neil.fraser.name/software/diff_match_patch/svn/trunk/demos/demo_diff.html>私が必要とするものです。このレポートをテストします。 –

+0

それをテストし、これが私が必要とするものです。 tnx! –

+0

私はこの作業を行い、diff_match_patchを使用するために必要な「プレゼンテーション作業」を支援するラッパーライブラリを作成しました:https://github.com/arnab/jQuery.PrettyTextDiff – arnab

1

関連する質問への答えこれはjavascriptのための有望なようだHighlight the difference between two strings in PHP

+0

ご覧のとおり、あなたが私に渡したリンクの質問は2歳ですが、その答えは受け入れられました、リンクが壊れています(私はすでにこの午後の答えにコメントしています)。 –

+0

@glavicスレッドにはいくつかの回答があります。これはかなり有望に見えます:https://github.com/paulgb/simplediff/blob/5bfe1d2a8f967c7901ace50f04ac2d9308ed3169/simplediff.php – julesj

+0

すでにスクリプトをテストしました。それを2つの関数と呼ぶべきです。私は必要なように動作しません。例:私は新しい行だけを追加すると、それは悪い違いを返します... –

関連する問題