(PECL xdiff >= 0.2.0)
xdiff_string_diff — 生成两个字符串的统一 diff
生成包含 old_data
字符串和 new_data
字符串之间差异的统一 diff,并将其返回。生成的 diff 是人类可读的。可选的 context
参数指定在每个更改周围添加多少行上下文。将 minimal
参数设置为 true 将导致输出尽可能短的补丁文件(可能需要很长时间)。
old_data
第一个包含数据的字符串。它充当“旧”数据。
new_data
第二个包含数据的字符串。它充当“新”数据。
context
指示您想要在 diff 结果中包含多少行上下文。
minimal
如果您想要最小化结果的大小(可能需要很长时间),请将此参数设置为 true
。
返回包含生成的 diff 的字符串,或者如果发生内部错误,则返回 false
。
示例 #1 xdiff_string_diff() 示例
以下代码生成两篇文章的统一 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()。