xdiff_string_diff
(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().