2011-01-05 2 views
9

Vergleichen muss on-the-fly funktionieren, also muss dies über Javascript oder mit PHP (wird Javascript AJAX Anfrage) erfolgen.Vergleichen Sie 2 Zeichenketten und zeigen Sie Unterschied (PHP oder Javascript) an

Was ich brauche ist wahrscheinlich fortgeschrittenen Unterschied zeigt, so wird es wahrscheinlich am besten sein, wenn es irgendeine gut unterstützte Bibliothek gibt.

Dieses Bild zeigt genau das, was ich brauche>

Tortoise Merge

hinzugefügt # 1: Ich fand dieses http://ejohn.org/projects/javascript-diff-algorithm/ (Beispiel http://www.djsipe.com/js-diff/), die in Ordnung ist, aber nicht mehrzeiligen unterstützen? und es ändert sich das ganze Wort, wenn nur ein Zeichen anders ...

hinzugefügt # 2: ich getestet PHP-Skript (https://github.com/paulgb/simplediff/), aber es hat Fehler.

hinzugefügt # 3: ich gefunden, was ich suchte (http://code.google.com/p/google-diff-match-patch/)

+0

möglich Duplikat von [Markieren Sie den Unterschied zwischen zwei Zeichenfolgen in PHP] (http://StackOverflow.com/Questions/321294/Highlight-the-Difference-between-Two-Strings-in-PH) – GWW

+1

wie Sie sehen können Die Frage nach dem Link, den du mir gegeben hast, ist 2 Jahre alt, und die Antwort, die akzeptiert wurde, hat den Link unterbrochen (ich habe diese Antwort bereits heute Nachmittag kommentiert). –

Antwort

8

Diese Antwort auf eine ähnliche Frage scheint für Javascript versprechend. google-diff-match-patch

Es bietet eine API, die sich um alle komplexen und bekannten Algorithmen kümmern wird. Sie müssen jedoch etwas mit der Präsentation arbeiten.

PHP ist vielseitiger da gibt es eine Menge Diff-Tools. Schauen Sie diese andere verwandte Frage Calculate text diffs in PHP.

+0

Tnx, ich denke dass das> http://neil.fraser.name/software/diff_match_patch/svn/trunk/demos/demo_diff.html> ist was ich brauche. Wird diesen Bericht testen. –

+0

getestet und das ist genau das, was ich brauche. Tnx! –

+0

Ich ging das durch und am Ende eine Wrapper-Bibliothek zu erstellen, um mit der "Präsentation arbeiten" zu helfen, die verwendet wird, um "diff_match_patch": https://github.com/arnab/jQuery.PrettyTextDiff – arnab

1
+0

wie Sie sehen können, ist die Frage auf den Link, den Sie mir gaben, 2 Jahre alt, und die Antwort, die akzeptiert wurde, hat den Link gebrochen (ich habe diese Antwort bereits heute Nachmittag kommentiert). –

+0

@glavic Es gibt ein paar Antworten im Thread. Dieser sieht ziemlich vielversprechend aus: https://github.com/paulgb/simpleptiff/blob/5bfe1d2a8f967c7901ace50f04ac2d9308ed3169/simplediff.php – julesj

+0

habe das Skript bereits getestet oder sollten wir es 2 Funktionen nennen. es funktioniert nicht wie ich brauche. Beispiel: Wenn ich nur eine neue Zeile hinzufüge, gibt es den schlechten Unterschied zurück ... –

Verwandte Themen