phpday 2025 - Call For Papers

xdiff_string_patch

(PECL xdiff >= 0.2.0)

xdiff_string_patchPatch a string with an unified diff

Beschreibung

xdiff_string_patch(
    string $str,
    string $patch,
    int $flags = ?,
    string &$error = ?
): string

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()/xdiff_string_diff() 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.

Parameter-Liste

str

The original string.

patch

The unified patch string. It has to be created using xdiff_string_diff(), xdiff_file_diff() functions or compatible tools.

flags

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

Starting from version 1.5.0, you can also use binary OR to enable XDIFF_PATCH_IGNORESPACE flag.

error

If provided then rejected parts are stored inside this variable.

Rückgabewerte

Returns the patched string, or false on error.

Beispiele

Beispiel #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;
}

?>

Siehe auch

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top