最近,我一直在想如何用PHP找到两个文件之间的区别。让我们说例如我有一个文本文件说:
"Line one data = test test"
然后一个文件说:
"Line one data = test test Line two data = test test"
我想要做的是输出两个文件之间的区别:
"Line two data = test test"
如何使用PHP完成此操作?任何帮助将非常感谢!
答案 0 :(得分:0)
将文本文件转换为字符串,然后使用str_replace()
$one = "Line one data = test test";
$two = "Line one data = test test Line two data = test test";
$difference = str_replace($one, "", $two);
或使用str_ireplace进行区分大小写的替换。
答案 1 :(得分:0)
$str1 = "Line one data = test test";
$str2 = "Line one data = test test Line two data = test test";
如果$ str2是更长的字符串而$ str1总是在$ str2的开头,那么你可以使用:
echo substr($str2, strlen($str1));
它比str_replace快。
答案 2 :(得分:0)
您可以从两个文件的md5校验和开始。如果out put hash不同则文件不同。但我很确定这不是问题。因为我认为你的要求没有简单的答案。您可能想要阅读'diff'的简洁阅读。这是一种算法,它可以读取2个文件并确定它们是否不同但是基本上并排比较2个文件,显示差异所在。现在我确信这在PHP中是可行的。只是不确定是否有人再一次,我也没有广泛搜索它。只有当我在svn或git上运行我的版本控制代码时才使用diff。
有一个名为“Notepad ++”的好程序,它能够添加插件,其中有一个用于比较的插件,如上所述。