(PECL xdiff >= 0.2.0)
xdiff_string_diff — Создать обычный патч для двух строк
$old_data,$new_data,$context = 3,$minimal = false
Создаёт патч для строк old_data и
new_data. Итоговый патч человекочитаем.
Опциональный параметр context указывает, сколько строк
контекста должно быть добавлено в патч вокруг каждого различия.
Установка параметра minimal в значение true
позволит получить максимально короткий патч (может занять много времени).
old_dataПервая строка с данными. Это будут "старые" данные.
new_dataВторая строка с данными. Это будут "новые" данные.
contextКоличество строк контекста вокруг каждого изменения.
minimal
Если true, то будет создан максимально короткий патч (может занять много времени).
Возвращает строку с патчем, либо false в случае возникновения ошибки.
Пример #1 Пример использования xdiff_string_diff()
Следующий код выведет различия двух статей.
<?php
$old_article = file_get_contents('./old_article.txt');
$new_article = $_REQUEST['article']; /* Допустим кто-то отправил новую статью через html-форму */
$diff = xdiff_string_diff($old_article, $new_article, 1);
if (is_string($diff)) {
echo "Различия в двух статьях:\n";
echo $diff;
}
?>Замечание:
Эта функция не предназначена для работы с бинарными данными. Для бинарного сравнения используйте xdiff_string_bdiff() и xdiff_string_rabdiff().