xdiff_string_patch
(PECL xdiff:0.2-1.4)
xdiff_string_patch — 文字列に unified diff 形式のパッチを適用する
説明
string xdiff_string_patch
( string $str
, string $patch
[, int $flags
[, string &$error
]] )
ある文字列に、unified 形式のパッチ文字列 patch を適用します。
パラメータ
- str
-
元の文字列。
- patch
-
unified 形式のパッチ文字列。
- flags
-
flags は XDIFF_PATCH_NORMAL (デフォルト。通常のパッチ) あるいは XDIFF_PATCH_REVERSE (逆パッチ) のいずれかです。
- error
-
これを指定すると、パッチを拒否された部分がここに保存されます。
返り値
パッチ適用後の文字列、あるいはエラー時に FALSE を返します。
例
Example#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;
}
?>