PHP Conference Japan 2024

xdiff_string_diff

(PECL xdiff >= 0.2.0)

xdiff_string_diff產生兩個字串的 unified diff

描述

xdiff_string_diff(
    字串 $old_data,
    字串 $new_data,
    整數 $context = 3,
    布林值 $minimal = false
): 字串

產生一個 unified diff,包含 old_data 字串和 new_data 字串之間的差異,並返回它。產生的 diff 檔案是可讀的。選用的 context 參數指定在每個變更周圍要添加多少行上下文。將 minimal 參數設定為 true 將會輸出盡可能最短的 patch 檔案(可能需要很長時間)。

參數

old_data

第一個包含資料的字串。它作為「舊」資料。

new_data

第二個包含資料的字串。它作為「新」資料。

context

指示您要在 diff 結果中包含多少行上下文。

minimal

如果您想要最小化結果的大小(可能需要很長時間),請將此參數設定為 true

返回值

返回包含結果 diff 的字串,如果發生內部錯誤,則返回 false

範例

範例 #1 xdiff_string_diff() 範例

以下程式碼產生兩篇文章的 unified diff。

<?php
$old_article
= file_get_contents('./old_article.txt');
$new_article = $_REQUEST['article']; /* 假設有人將新文章貼到 HTML 表單中 */

$diff = xdiff_string_diff($old_article, $new_article, 1);
if (
is_string($diff)) {
echo
"兩篇文章之間的差異:\n";
echo
$diff;
}

?>

注意事項

注意:

此函式不適用於二進位字串。要製作二進位字串的 diff,請使用 xdiff_string_bdiff()/xdiff_string_rabdiff()

另請參閱

新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top