Символьная строка diff в PHP - PullRequest
4 голосов
/ 22 июля 2010

Короче я ищу что-то вроде google-diff-match-patch в PHP.

Я взглянул на некоторые похожие вопросы в SO, а также на предоставленный алгоритм здесь , но все они терпят неудачу:

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

следует не дать

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

(что довольно глупо для моей цели, потому что я хочу сравнить имена файлов), но (попробуйте здесь)

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

Есть ли фрагмент кода в PHP, который делает это? К сожалению, я не могу использовать (т.е. устанавливать) внешние пакеты.

Ответы [ 4 ]

4 голосов
/ 27 февраля 2011

https://github.com/gorhill/PHP-FineDiff поддерживает посимвольную разность и может отображать различия в HTML

2 голосов
/ 22 мая 2013

Существует порт новой версии google-diff-match-patch library Это намного быстрее, чем предыдущий и не имеет проблем с utf8.

2 голосов
/ 30 января 2012

Существует php-версия google-diff-match-patch, доступная здесь: https://github.com/nuxodin/diff_match_patch-php

2 голосов
/ 22 июля 2010

Пакет PEAR Text_Diff обеспечивает Inline-Diffs.

...