PHP 8.6.0 Beta 1 is available for testing

xdiff_string_patch

(PECL xdiff >= 0.2.0)

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

Описание

function 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, $diff, XDIFF_PATCH_NORMAL, $errors);
if (is_string($new_article)) {
 echo "Новая статья:\n";
 echo $new_article;
}
if (strlen($errors)) {
 echo "Отклонены: \n";
 echo $errors;
}
?>

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

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /