XDIFF_STRING_PATCH(3) 1 XDIFF_STRING_PATCH(3)
xdiff_string_patch - Patch a string with an unified diff
SYNOPSIS
string xdiff_string_patch (string $str, string $patch, [int $flags], [string &$error])
DESCRIPTION
Patches a $str string with an unified patch in $patch parameter and returns the result. $patch has to be an unified diff created by
xdiff_file_diff(3)/xdiff_string_diff(3) function. An optional $flags parameter specifies mode of operation. Any rejected parts of the patch
will be stored inside $error variable if it is provided.
PARAMETERS
o $str
- The original string.
o $patch
- The unified patch string. It has to be created using xdiff_string_diff(3), xdiff_file_diff(3) functions or compatible tools.
o $flags
-$flags can be either XDIFF_PATCH_NORMAL (default mode, normal patch) or XDIFF_PATCH_REVERSE (reversed patch). Starting from ver-
sion 1.5.0, you can also use binary OR to enable XDIFF_PATCH_IGNORESPACE flag.
o $error
- If provided then rejected parts are stored inside this variable.
RETURN VALUES
Returns the patched string, or FALSE on error.
EXAMPLES
Example #1
xdiff_string_patch(3) 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:
";
echo $new_article;
}
if (strlen($errors)) {
echo "Rejects:
";
echo $errors;
}
?>
SEE ALSO
xdiff_string_diff(3).
PHP Documentation Group XDIFF_STRING_PATCH(3)