(PECL xdiff >= 0.2.0)
xdiff_string_patch — 使用 unified diff 修補字串
使用 `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;
}
?>