# xdiff_string_patch

(PECL xdiff:0.2-1.4)

xdiff_string_patch — Patch a string with an unified diff

### Description

string xdiff_string_patch ( string `$str` , string `$patch` [, int `$flags` [, string `&$error` ]] )

Patches a string with a unified `patch` string.

### Parameters

`str`

  The original string.

`patch`

  The unified patch string.

`flags`

  `flags` can be either `XDIFF_PATCH_NORMAL` (default mode, normal patch) or `XDIFF_PATCH_REVERSE` (reversed patch).

`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() 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;
}
?>`

### See Also

- xdiff_file_patch()