xdiff_string_patch

(PECL xdiff >= 0.2.0)

xdiff_string_patchПрименить обычный патч к строке

Описание

xdiff_string_patch ( string $str , string $patch , int $flags = ? , string &$error = ? ) : string

Применяет к строке str обычный патч patch и возвращает результат. patch должен быть обычным патчем, созданным с помощью функций xdiff_file_diff() или xdiff_string_diff(). Опциональный параметр flags задает режим операции. Все отвергнутые части патча будут записаны в переменную error.

Список параметров

str

Оригинальная строка.

patch

Стандартный патч. Должен быть создан функциями xdiff_string_diff(), или xdiff_file_diff(), либо с помощью инструментов, создающих совместимые патчи.

flags

flags может быть XDIFF_PATCH_NORMAL (режим по умолчанию, нормальный патч) или XDIFF_PATCH_REVERSE (реверсивный патч).

Начиная с версии 1.5.0 можно использовать бинарное ИЛИ для добавления флага XDIFF_PATCH_IGNORESPACE.

error

Если задан, то в эту переменную будут записаны все отвергнутые части патча.

Возвращаемые значения

Возвращает строку, либо false в случае возникновения ошибке.

Примеры

Пример #1 Пример использования xdiff_string_patch()

Следующий код применяет патч к статье.

<?php
$old_article 
file_get_contents('./old_article.txt');
$diff $_SERVER['patch']; /* Допустим кто-то отправил патч через html-форму */

$errors '';

$new_article xdiff_string_patch($old_article$diffXDIFF_PATCH_NORMAL$errors);
if (
is_string($new_article)) {
    echo 
"Новая статья:\n";
    echo 
$new_article;
}

if (
strlen($errors)) {
    echo 
"Отклонены: \n";
    echo 
$errors;
}

?>

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