如何使用PHP查找两个文本文件之间的差异

如何使用PHP查找两个文本文件之间的差异,php,scripting,Php,Scripting,最近,我一直想知道如何用PHP找到两个文件之间的区别。比如说,我有一个文本文件,上面写着: "Line one data = test test" "Line one data = test test Line two data = test test" 然后一个文件说: "Line one data = test test" "Line one data = test test Line two data = test test" 我要做的是输出两个文件之间的差异,即: "Line t

最近,我一直想知道如何用PHP找到两个文件之间的区别。比如说,我有一个文本文件,上面写着:

"Line one data = test test"
"Line one data = test test Line two data = test test"
然后一个文件说:

"Line one data = test test"
"Line one data = test test Line two data = test test"
我要做的是输出两个文件之间的差异,即:

"Line two data = test test"

如何使用PHP实现这一点?任何帮助都将不胜感激

将文本文件强制转换为字符串,然后使用

或用于区分大小写的替换

$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快。

您可以从两个文件的md5校验和开始。如果out put哈希不同,则文件也不同。但我很确定这不是我想问的问题。因为我认为你的问题没有简单的答案。您可能想让礼宾员阅读“diff”。这是一种排序算法,它可以读取两个文件,不仅可以确定它们是否不同,还可以对这两个文件进行并排比较,向您显示差异所在。现在我确信这在PHP中是完全可行的。只是还不确定是否有人有,我也没有广泛地搜索它。我唯一使用diff的时候是在svn或git上运行我的版本控制代码


有一个很好的程序叫做“Notepad++”,它可以向它添加插件,其中有一个插件,可以进行比较,就像刚才描述的一样。

您的PHP是否有xdiff扩展可用?聪明,但如果输入是
“行一数据=测试测试”
“行一数据额外内容=测试测试”,则无法工作