PHP Conference Nagoya 2025

Функции xdiff

Содержание

  • xdiff_file_bdiff — Создать бинарный патч сравнивая два файла
  • xdiff_file_bdiff_size — Получить размер файла после применения бинарного патча
  • xdiff_file_bpatch — Применить бинарный патч к файлу
  • xdiff_file_diff — Создать унифицированный патч из сравнения двух файлов
  • xdiff_file_diff_binary — Псевдоним xdiff_file_bdiff
  • xdiff_file_merge3 — Объединение трёх файлов в один
  • xdiff_file_patch — Применение унифицированного патча к файлу
  • xdiff_file_patch_binary — Псевдоним xdiff_file_bpatch
  • xdiff_file_rabdiff — Создать бинарный патч сравнивая два файла с помощью полиноминального алгоритма Rabin fingerprinting
  • xdiff_string_bdiff — Создать бинарный патч для двух строк
  • xdiff_string_bdiff_size — Получить размер файла созданного после применения бинарного патча
  • xdiff_string_bpatch — Применение бинарного патча к строке
  • xdiff_string_diff — Создать обычный патч для двух строк
  • xdiff_string_diff_binary — Псевдоним xdiff_string_bdiff
  • xdiff_string_merge3 — Объединить три строки в одну
  • xdiff_string_patch — Применить обычный патч к строке
  • xdiff_string_patch_binary — Псевдоним xdiff_string_bpatch
  • xdiff_string_rabdiff — Сравнить две строки и создать бинарный патч используя полиноминальный алгоритм Rabin fingerprint
Добавить

Примечания пользователей 1 note

up
4
amir.laher
19 years ago
the xdiff functions require your initial string to end with a \n character.

When you use xdiff_string_diff, the initial string must either be zero-length or end with \n
eg. $patch= xdiff_string_diff($string,$string2);

if not, the patch will return an empty string.
xdiff_string_patch($string,$patch);

This will not normally affect xdiff_file_diff, but it's annoying nevertheless. To prevent this unexpected effect, I append a \n to the string before applying the initial diff, as follows.
if (!ereg("\n$",$string)) $string.="\n";
To Top