xdiff_string_patch

(PECL xdiff >= 0.2.0)

xdiff_string_patch用统一 diff 修补字符串

说明

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

patch 参数中的统一补丁修补 str 字符串,并返回结果。 patch 必须是由 xdiff_file_diff()/xdiff_string_diff() 函数创建的统一 diff。可选的 flags 参数指定操作模式。如果提供,则补丁的任何被拒绝部分将存储在 error 变量中。

参数

str

原始字符串。

patch

统一补丁字符串。它必须使用 xdiff_string_diff()xdiff_file_diff() 函数或兼容工具创建。

flags

flags 可以是 XDIFF_PATCH_NORMAL(默认模式,正常补丁)或 XDIFF_PATCH_REVERSE(反向补丁)。

从版本 1.5.0 开始,您还可以使用按位或来启用 XDIFF_PATCH_IGNORESPACE 标志。

error

如果提供,则被拒绝的部分将存储在此变量中。

返回值

返回已修补的字符串,或在发生错误时返回 false

范例

范例 #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
"拒绝:\n";
echo
$errors;
}

?>

参见

添加笔记

用户贡献笔记

此页面没有用户贡献的笔记。
To Top