(PECL xdiff >= 0.2.0)
xdiff_string_patch — 文字列に unified diff 形式のパッチを適用する
   ある文字列 str に、unified 形式のパッチ文字列
   patch を適用してその結果を返します。
   patch は、
   xdiff_file_diff()/xdiff_string_diff()
   関数で作成した unified diff 形式でなければなりません。
   オプションのパラメータ flags
   で、操作モードを指定します。パッチが拒否された部分については、
   もし error を指定していればそこに保存されます。
  
str元の文字列。
patchunified 形式のパッチ文字列。 xdiff_string_diff() 関数や xdiff_file_diff() 関数、 あるいは互換性のあるツールで作成したものでなければなりません。
flags
       flags は
       XDIFF_PATCH_NORMAL (デフォルト。通常のパッチ)
       あるいは XDIFF_PATCH_REVERSE (逆パッチ)
       のいずれかです。
      
       バージョン 1.5.0 以降では、バイナリ OR を使用して
       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 "Rejects: \n";
    echo $errors;
}
?>