(PECL xdiff >= 0.2.0)
xdiff_string_diff — 產生兩個字串的 unified diff
產生一個 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()。