PHP Conference Japan 2024

xdiff_string_patch

(PECL xdiff >= 0.2.0)

xdiff_string_patch使用 unified diff 修補字串

說明

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

使用 `patch` 參數中的統一差異格式區塊來修補 `str` 字串,並返回結果。 `patch` 必須是由 xdiff_file_diff()/xdiff_string_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