(PECL xdiff >= 0.2.0)
xdiff_string_patch — Применить обычный патч к строке
   Применяет к строке 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;
}
?>