(PECL xdiff:0.2-1.4)
xdiff_string_patch — Patch a string with an unified diff
Patches a string with a unified patch string.
The original string.
The unified patch string.
flags can be either XDIFF_PATCH_NORMAL (default mode, normal patch) or XDIFF_PATCH_REVERSE (reversed patch).
If provided then rejected parts are stored inside this variable.
Returns the patched string, or FALSE on error.
Example#1 xdiff_string_patch() example
The following code applies changes to some article.
<?php
$old_article = file_get_contents('./old_article.txt');
$diff = $_SERVER['patch']; /* Let's say that someone pasted a patch to html form */
$errors = '';
$new_article = xdiff_string_patch($old_article, $diff, XDIFF_PATCH_NORMAL, $errors);
if (is_string($new_article)) {
echo "New article:\n";
echo $new_article;
}
if (strlen($errors)) {
echo "Rejects: \n";
echo $errors;
}
?>