如何使用PHP进行文本DIFF?

5 php shell diff

PHP的最佳方法是什么?是否有任何PHP功能可以做到这一点,考虑到列内容可能非常大?

如果PHP函数不可用,我可以调用哪个shell实用程序?

谢谢

ste*_*efs 10

在PHP中没有任何内置的diff函数.但是,对于PEAR 来说很有道理:Text_Diff(从来没有使用它很难,但在PEAR我相信).

甚至还有一个PECL包,xdiff

提示:pear类是纯php,pecl包是模块.通常,模块比类快,但它也取决于功能.你只需要测试和评估.

用于存储:我存储纯文本,而不是差异.空间很便宜,许多数据库(例如mysql)支持数据压缩(或者你可以在php中解压缩),但是如果你存储明文,你就可以独立于diff算法,并且可以在以后需要时更改它.

如果你需要速度,你可以存储明文和差异.


Rob*_*Rob 4

通常的过程是存储每个不同的修订版本,并在用户想要查看它时计算差异,如果该过程很昂贵,则可能会缓存该输出。

您可以存储一个基本修订版本,然后拥有一组可用于获取以前版本的差异。

无论哪种情况,都需要做出让步;第一个选项使得检索特定版本的成本低廉,但需要进行比较所需的更多处理;第二种使差异查看变得便宜,但代价是可能需要昂贵的增量修补才能获得特定版本。