CakeFest 2024: The Official CakePHP Conference

xdiff_string_diff

(PECL xdiff >= 0.2.0)

xdiff_string_diffСоздать обычный патч для двух строк

Описание

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

Смотрите также

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top