PHP Conference Japan 2024

xdiff_string_patch

(PECL xdiff >= 0.2.0)

xdiff_string_patch使用统一diff修补字符串

描述

xdiff_string_patch(
    字符串 $str,
    字符串 $patch,
    整数 $flags = ?,
    字符串 &$error = ?
): 字符串

使用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版本开始,您还可以使用二进制OR启用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