(PECL xdiff >= 0.2.0)
xdiff_string_diff — Создать обычный патч для двух строк
$old_data
, string $new_data
[, int $context
= 3
[, bool $minimal
= FALSE
]] ) : string
Создает патч для строк 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().